我正在导出SELECT result to CSV via INTO OUTFILE
。我有一系列简单的SQL字符串函数用于格式化数据。例如:CONCAT('$',FORMAT(property.price,2))
。如果值为NULL,我想返回一个空字符串,但我不确定如何同时执行这两个操作。MySQL格式化字符串或返回空字符串NULL
另外我想知道最简单的方法取TinyInt
值0或1并返回“是”或“否”。
我正在导出SELECT result to CSV via INTO OUTFILE
。我有一系列简单的SQL字符串函数用于格式化数据。例如:CONCAT('$',FORMAT(property.price,2))
。如果值为NULL,我想返回一个空字符串,但我不确定如何同时执行这两个操作。MySQL格式化字符串或返回空字符串NULL
另外我想知道最简单的方法取TinyInt
值0或1并返回“是”或“否”。
对于TINYINT可以用IF操作
select if(tinyint_value,'yes','no')
的第一部分,你也可以,如果运营商在空...`将无法正常工作使用
select if(property.price is not null, CONCAT('$',FORMAT(property.price,2)),'')
要取决于您可以使用情况下,所以列的他返回值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
谢谢!看起来很简单。 – christian