将null值作为查询中的其他内容返回

时间:2014-05-21 19:45:59

标签: sql odbc

SELECT TEST_CODE, TEST_MDL FROM TEST WHERE TEST_CODE LIKE 'DW-LI' 
                OR TEST_CODE LIKE 'DW-BE'
                OR TEST_CODE LIKE 'DW-SC'
                OR TEST_CODE LIKE 'DW-V'
                OR TEST_CODE LIKE 'DW-CR'
                OR TEST_CODE LIKE 'DW-CO';

我有这个查询,我需要将结果写入excel文件。我可以这样做,但是当a字段为null时,我需要查询返回null或其他东西而不是空白。

我尝试过这样的事情:

SELECT TEST_CODE, TEST_MDL,
   ISNULL(TEST_MDL),'null')'
   FROM TEST;

那不起作用。有什么建议? 我正在使用vb.net从程序运行查询,并且因为一些限制而连接为odbc。我希望这有帮助。 谢谢!

2 个答案:

答案 0 :(得分:0)

使用COALESCE函数替换空值的实数值:

SELECT TEST_CODE, coalesce(TEST_MDL,0) 
    FROM TEST;

COALESCE函数将一个或多个值作为参数。该函数返回列表中的第一个非空值。在解决方案中,只要TEST_MDL不为null,就返回TEST_MDL的值。否则,返回零。

答案 1 :(得分:0)

试试这个:

SELECT TEST_CODE, TEST_MDL,
    CONVERT(varchar(20),ISNULL(TEST_MDL,'null')) 
   FROM TEST;