如何在SQLite中将空字符串转换为null

如何在SQLite中将空字符串转换为null,sql,sqlite,Sql,Sqlite,如何在SELECTquery中用NULL替换/转换空字符串,而无需更改表或更新表。大多数主要RDBMS都支持此功能 SELECT CASE RTRIM(Column) WHEN '' THEN NULL ELSE Column END AS [Column] SELECT NULLIF(MyColumn, '') FROM MyTable 如果MyColumn等于空字符串,这将返回任何行的NULL。从未使用过它,但很高兴知道它。这似乎并没有实际将原始表中的空字符串值替换为NULL。@Sedr

如何在
SELECT
query中用
NULL
替换/转换空字符串,而无需更改表或更新表。

大多数主要RDBMS都支持此功能

SELECT CASE RTRIM(Column) WHEN '' THEN NULL ELSE Column END AS [Column]
SELECT NULLIF(MyColumn, '') FROM MyTable

如果
MyColumn
等于空字符串,这将返回任何行的
NULL

从未使用过它,但很高兴知道它。这似乎并没有实际将原始表中的空字符串值替换为NULL。@SedrickJefferson更正<代码>选择语句不会修改原始表。为此,您需要使用
更新
;或者使用
updatemytable SET MyColumn=NULL如果(MyColumn,”)
或者
updatemytable SET MyColumn=NULL其中MyColumn=''
使用
*
之类的东西怎么样从表或
中选择mytable.*从mytable
中,因为这些东西都不能使用它。您必须指定要测试的列,以确定它是否为空。您不能将逻辑应用于通配符。这很有趣。@mega6382不,您必须单独处理每一列。无论如何,您可能不应该使用
SELECT*
,请参阅
SELECT CASE Length(Col) WHEN 0 THEN NULL ELSE Col END