如何在sqlite表中用“N/A”替换所有空值

5
我有一个大的sqlite表,想将其输出到文件中。因此,我希望在文件中将所有空值显示为字符串“N/A”。如何通过sqlite查询实现这一点? 谢谢。

CASE ...表达式和ISNULL对此非常有帮助。 - Michael Butscher
1个回答

11

您可以使用 ifnull 函数,例如:

select ifnull(mycolumn, 'N/A') from mytable;

来自sqllite.org (http://www.sqlite.org/lang_corefunc.html):

ifnull()函数返回其第一个非NULL参数的副本,如果两个参数都为NULL,则返回NULL。ifnull()函数必须有且仅有2个参数。ifnull()函数等同于具有两个参数的coalesce()函数。

我认为不能像这样做:select ifnull(*, 'N/A') from mytable;,所以你必须明确列出所有列。

这是一些可以用来生成csv输出的代码:

sqlite> .mode csv
sqlite> .output myoutput.csv
sqlite> select ifnull(mycolumn1, 'N/A'), ifnull(mycolumn2, 'N/A') from mytable;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接