2011-07-03 20 views
0

我有一个SQLServer 2008年整理运行设置为:Finnish_Swedish_CI_AS服务器和数据库的不同排序规则是“更强”吗?

我也有排序规则服务器设置为一个表:SQL_Latin1_General_CP437_CS_AS

在表中我有一列名为物料含

ABCF ABCF DF

SELECT Allowable FROM [Mat].[dbo].[D100601EN6115K3] WHERE Thickness = 2 AND CHARINDEX('F', Material)>0 

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

回答

0

您使用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_Latin1_General_CP437_CS_AS那么它应该是

CHARINDEX('F' COLLATE SQL_Latin1_General_CP437_CS_AS, Material) 

对不起,这是不是100%清楚哪列是CS:材料或另一个。

基本上,'F'是服务器或数据库的排序规则(如果不同)

相关问题