TSQL中的Null字符是什么?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (14)

我想知道字面意思是什么空字符(例如‘\0’)在TSQL中。

注:不是空字段值,而是空字符(见链接)

我有一个包含典型字符和空字符混合的列。我试图用不同的值替换空字符。我原以为以下几点会奏效,但却没有成功:

select REPLACE(field_with_nullchar, char(0), ',') from FOO where BAR = 20
提问于
用户回答回答于

在SQL中,C样式终止符看起来也是一个终止符:

SELECT  REPLACE(bad, CHAR(0), ' ')
FROM    (
         SELECT 'a' + CHAR(0) + 'b' AS bad
        ) AS X

看起来它也依赖于排序:

SELECT  REPLACE(CAST(bad COLLATE SQL_Latin1_General_CP1_CI_AS AS varchar(10)), CHAR(0), ' ')
FROM    (
         SELECT 'a' + CHAR(0) + 'b' AS bad
        ) AS X

与预期的工作相比:

SELECT  REPLACE(CAST(bad COLLATE Latin1_General_CI_AS AS varchar(10)), CHAR(0), ' ')
FROM    (
         SELECT 'a' + CHAR(0) + 'b' AS bad
        ) AS X
用户回答回答于

将排序规则更改为SQL排序规则。SQL_Latin1_General_CP1_CI_AS也可以使用。

扫码关注云+社区