我在sql表中有几列是nchar(44),值为null但是我需要空格我有一个客户需求就像
Poc1 * 45;
Poc2 * 45;
Poc3 * 45;.....poc24 * 45
当我在这些列上运行sql查询时,我有相同的列数据,其中包含空值我应该得到长度为45的空格,每个空格都导出到文本文件。这可能是可能的。
string stringSql = " SELECT distinct " +
",left([POC1]+' ',44)" +
",left([POC2]+' ',44)" +
",left([POC3]+' ',44)" +
",[t_vrm] " +
",left([POC4]+' ',44)" +
",left([POC5]+' ',44)" +
",[t_zone_name]" +
",left([POC6]+' ',44)" +
",[t_date_time_issued] " +
",left([POC7]+' ',44)" +
",left([POC8]+' ',44)" +
",left([POC9]+' ',44)" +
",left([POC10]+' ',44)" +
",left([POC11]+' ',44)" +
",left([POC12]+' ',44)" +
",left([POC13]+' ',44)" +
",left([POC14]+' ',44)" +
",left([POC15]+ ' ',44)" +
",left([POC16]+ ' ',44)" +
答案 0 :(得分:1)
使用ISNULL功能:
...
,left(ISNULL([POCN], '')+' ',44)
...
答案 1 :(得分:1)
为了使用MSSQL和Oracle,请使用COALESCE
COALESCE(MyNullColumn, '')
您可以在单引号中手动输入45个空格!!
答案 2 :(得分:0)
Sql Server中有一个设置将nulls和nil视为等效:
set concat_null_yields_null [on|off]
不要使用它。如果使用
编写符合标准的关于无效的SQLcoalesce(foo,'')
is [not] null
之类的,无论设置如何,您的代码都能正常运行。