t-sql 中 nvarchar 变量的强制转换排序规则
-
06-07-2019 - |
解决方案
SELECT CAST('abc' AS varchar(5)) COLLATE French_CS_AS
其他提示
CAST
或 CONVERT
是多余的!
SELECT N'abc' COLLATE French_CS_AS
这是多余的,因为只更改排序规则不会更改数据类型 NVARCHAR
。
如果要在2到1个字节之间进行更改,或者在ver-sa-sa字符编码之间进行更改,则需要进行CAST或转换。在这些情况下,这不是多余的。
当源列是2字节字符序列(nchar,nvarchar)并且选择投影需要是单字节字符(char,varchar)时,应指定强制转换和转换。在类型系统之间的转换之前应用归类转换。
SELECT CAST(N'ФBC' COLLATE SQL_Latin1_General_CP1_CI_AS as varchar(10)) AS ProjectedSingleByte
如果您想比较或连接不同排序规则的两列,这可能会有所帮助。就我而言,我必须比较两列,其中一列使用“SQL_Latin1_General_CP1_CI_AS”,另一列使用“Latin1_General_CP1_CI_AS”。
我只是在加入这两个选项时使用了这个选项。
在A.Person = B.NAME上整理database_default
不隶属于 StackOverflow