Я делаю SELECT INTO OUTFILE
, и он показывает «\ N» для каждого значения NULL
. Есть ли способ для меня сделать это просто пустым?Удалите « N» при выполнении SELECT INTO OUTFILE
Я нахожусь на MySQL.
Я делаю SELECT INTO OUTFILE
, и он показывает «\ N» для каждого значения NULL
. Есть ли способ для меня сделать это просто пустым?Удалите « N» при выполнении SELECT INTO OUTFILE
Я нахожусь на MySQL.
Вы можете использовать функцию COALESCE
что-то вроде этого:
COALESCE(yourfield, '')
Хороший вопрос, а так же актуальна сегодня, как это было в 2011 году я использую хранимую процедуру для этого, которым принимает имя таблицы в качестве аргумент. Впоследствии он преобразует все нулевые значения в пустые строки (''), используя подготовленный оператор и без курсоров, поскольку курсоры - это не-SQL. Я проверил это с таблицей, с некоторыми 200 столбцов и в результате prepaired заявление, что это около 15000 символов:
CREATE DEFINER=`root`@`localhost` PROCEDURE `ExportFixNull`(
in tblname tinytext)
BEGIN
set @string=concat(
"Update ",@tblname," set ",
(
select group_concat(column_name,"=ifnull(",column_name,",'')")
from information_schema.columns
where [email protected]
)
,";"
);
prepare s1 from @string;
execute s1;
drop prepare s1;
В основном SQL-файла, есть заявление
SET @@group_concat_max_len = 60000;
, что может иметь решающее значение.
Подробнее (на голландском): http://wiki.devliegendebrigade.nl/SELECT_INTO_OUTFILE_%28MySQL%29
С уважением, Йерун Strompf