Я экспортирую SELECT result to CSV via INTO OUTFILE. У меня есть ряд простых строковых функций SQL, которые я использую для форматирования данных. Например: CONCAT('$',FORMAT(property.price,2)). В противном случае я хотел бы вернуть пустую строку, если значение равно NULL, но я не уверен, как сделать оба одновременно.
SELECT result to CSV via INTO OUTFILE
CONCAT('$',FORMAT(property.price,2))
Также мне интересно, как проще всего взять TinyInt значение 0 или 1 и вернуть «да» или «нет».
TinyInt
Для tinyint вы можете использовать оператор IF
select if(tinyint_value,'yes','no')
, для первой части вы также можете использовать оператор operator
select if(property.price is not null, CONCAT('$',FORMAT(property.price,2)),'')
Чтобы вернуть yes, no или пустую строку в зависимости от значения столбца, вы можете использовать регистр следующим образом:
yes
no
select case column when 1 then 'Yes' else 'No' end as columalias , case when stringcolumn is NULL then '' else stringcolumn end as stringcolumn from table
или
select case column when 1 then 'Yes' else 'No' end as columalias , IFNULL(stringcolumn,'') as stringcolumn from table
Вы можете использовать функцию coalesce () . Возвращает первый из своих аргументов, который не равен NULL.
SELECT COALESCE(NULL, 1); -> 1 SELECT COALESCE(2, 1); -> 2