SQL NVARCHAR(MAX)返回ASCII和奇怪字符而不是文本

时间:2015-11-26 02:51:33

标签: sql sql-server ascii ssms collation

我有一个SQL表,我试图将值作为字符串返回。 这些值应该是悉尼,墨尔本,Port Maquarie等城市名称。

但是当我运行一个选择时,我要么得到黑色结果,要么在第一张图片中详细说明一些奇怪的向后L字符。该列是NVARCHAR(MAX)

SELECT ctGlobalName FROM Crm.Cities

enter image description here

然后我尝试使用MSSQL的编辑前200行功能,我可以看到城市的名称,还有所有这些奇怪的ascii字符。

enter image description here

现在我没有创建数据库,我只是在运行查询。我读过的一些内容表明它是Collat​​ion的一个问题。但该表是SQL_Latin1_General_CP1_CI_AS,它与服务器排序规则匹配。

我确信必须有一些东西可以添加到我的选择查询中以将值作为普通字符串返回。我可以对我的选择查询做些什么来返回没有奇怪字符的预期格式吗?

1 个答案:

答案 0 :(得分:1)

NVARCHAR数据类型可以存储Unicode字符,这些字符用于ASCII字符集不支持的语言,即非英语(或相关)语言,如中文或印度尼西亚语。如果您的SQL Server或Windows没有安装该语言,那么您可能会看到奇怪的数据表示。

另一方面,也可能是更新此表的应用程序刚刚在该列中存储了错误数据。

无论哪种方式,您可能需要进行一些字符串操作来去除您不想要的字符。

相关问题