如何用NULL替换空格

use*_*110 8 sql sql-server

我在sql server 2012中有一个包含空格的列.我想用NULL替换这些空格.我写了以下查询,但它不起作用.

SELECT replace(COLUMN1, '',NULL) 
FROM Orders;
Run Code Online (Sandbox Code Playgroud)

如何实现上述功能.提前致谢.

pod*_*ska 18

使用 nullif

select nullif(Column1, '') from Orders
Run Code Online (Sandbox Code Playgroud)

  • 这个答案遗漏的是为什么如果 `Column1` 包含 `''` 它会起作用:SQL Server 中的字符串比较忽略尾随空格,因此 `'a '` 和 `'a'` 比较为相等,对于 `' '` 也是如此和`''`。 (3认同)
  • 此处添加注释,即使列值具有任意数量的空白字符(例如“''”、“' ”、“' '”),“NULLIF”匹配空字符串也会返回 NULL。 (2认同)