MySQL load outfile 함수에서 공백으로 null 값을 처리하는 방법은 무엇입니까?mysql load outfile 함수에서 공백으로 null 값을 처리하는 방법은 무엇입니까?
다음은 열에
SELECT * FROM employees WHERE `date` BETWEEN '2016-12-15' AND '2017-01-04' INTO OUTFILE '/tmp/test.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' ESCAPED BY "" LINES TERMINATED BY ' ';
널 값이 CSV에서 NULL로 표시하는 쿼리입니다. 어떻게 이것을 비워 둘 수 있습니까?
동적으로 열을 가져오고 다양한 테이블에서 데이터를 추출하는 단일 함수가 작성되므로 IFNULL(Col,'')
을 사용할 수 없습니다. 세 가지 방법 중
if($table == 'employees'){
$this->Target = ClassRegistry::init($table);
$this->Target->useTable = $table;
$allColumnHeaders = $this->Target->getColumnTypes();
$header_fields = implode("','", array_keys($allColumnHeaders));
$sql = " Select '" . $header_fields . "' UNION ALL SELECT $fields FROM " . $table . " WHERE date BETWEEN '" . $start_date . "' AND '" . $end_date . "'"
$sql = $sql . " INTO OUTFILE '" . $csvFile . "' FIELDS TERMINATED BY ',' ENCLOSED BY '\"' ESCAPED BY '' LINES TERMINATED BY '\n';";
$result = $this->db->query($sql);
}
수 당신이 기능을 게시하십시오 – Matt
질문을 업데이트 –