Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 服务器和数据库的不同排序规则,即;“更强”吗;?_Sql Server 2008_Collation - Fatal编程技术网

Sql server 2008 服务器和数据库的不同排序规则,即;“更强”吗;?

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子句来更改表达式

我有一个SQLServer2008运行,排序规则设置为:Finnish_Swedish_CI_AS

我在该服务器上还有一个表,其排序规则设置为:SQL\u Latin1\u General\u CP437\u CS\u AS

在表中,我有一个名为Material的列,其中包含

abcf abcf DF

它返回包含“f”或“f”的所有三行的允许值 如何使搜索区分大小写,以便仅从最后一行获取允许的大小写?
我希望有一个简单的方法,因为我不想再次设置整个服务器…

您可以使用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)