Sql server 2008 服务器和数据库的不同排序规则,即;“更强”吗;?
我有一个SQLServer2008运行,排序规则设置为:Finnish_Swedish_CI_AS 我在该服务器上还有一个表,其排序规则设置为:SQL\u Latin1\u General\u CP437\u CS\u AS 在表中,我有一个名为Material的列,其中包含 abcf abcf DF 它返回包含“f”或“f”的所有三行的允许值 如何使搜索区分大小写,以便仅从最后一行获取允许的大小写?Sql server 2008 服务器和数据库的不同排序规则,即;“更强”吗;?,sql-server-2008,collation,Sql Server 2008,Collation,我有一个SQLServer2008运行,排序规则设置为:Finnish_Swedish_CI_AS 我在该服务器上还有一个表,其排序规则设置为:SQL\u Latin1\u General\u CP437\u CS\u AS 在表中,我有一个名为Material的列,其中包含 abcf abcf DF 它返回包含“f”或“f”的所有三行的允许值 如何使搜索区分大小写,以便仅从最后一行获取允许的大小写? 我希望有一个简单的方法,因为我不想再次设置整个服务器…您可以使用COLLATE子句来更改表达式
我希望有一个简单的方法,因为我不想再次设置整个服务器…您可以使用COLLATE子句来更改表达式的排序规则
SELECT Allowable
FROM [Mat].[dbo].[D100601EN6115K3]
WHERE Thickness = 2 AND CHARINDEX('F', Material COLLATE SQL_Latin1_General_CP437_CS_AS) > 0
COLLATE子句可以与整个表达式相反,也可以仅与列引用相反
如果材料已经具有排序材料COLLATE SQL\u Latin1\u General\u CP437\u CS\u AS,则应为
CHARINDEX('F' COLLATE SQL_Latin1_General_CP437_CS_AS, Material)
对不起,不清楚哪一列是CS:Material还是另一列
基本上,'F'
是服务器或数据库(如果不同)的排序规则
CHARINDEX('F' COLLATE SQL_Latin1_General_CP437_CS_AS, Material)