服务器和数据库的不同排序规则,哪个“更强”?

发布于 2024-11-18 10:15:31 字数 400 浏览 3 评论 0原文

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

我在该服务器上还有一个表,排序规则设置为:SQL_Latin1_General_CP437_CS_AS

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

abcf ABCF DF

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

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

I have a sqlserver 2008 running with collation set to: Finnish_Swedish_CI_AS

I also have a table on that server with collation set to: SQL_Latin1_General_CP437_CS_AS

In the table I have a column named Material which contains

abcf
abcf
DF

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

It returns the allowable values for all three rows containing an "f" or "F"
How can I make my search case sensitive so that I only get the allowable from the last row?
I hope there is an easy way because I don't want to set up the whole server again...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

花开浅夏 2024-11-25 10:15:31

您可以使用 COLLATE 子句更改表达式的排序规则

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

COLLATE 子句可以针对整个表达式或仅针对列引用。

如果 Material 已经具有排序规则 Material COLLATE SQL_Latin1_General_CP437_CS_AS 那么应该

CHARINDEX('F' COLLATE SQL_Latin1_General_CP437_CS_AS, Material)

抱歉,不能 100% 清楚哪一列是 CS: Material 或另一列。

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

You use the COLLATE clause to change the collation of the expression

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

The COLLATE clause can go against a whole expression or just a column reference.

If Material already has the collation Material COLLATE SQL_Latin1_General_CP437_CS_AS then it should be

CHARINDEX('F' COLLATE SQL_Latin1_General_CP437_CS_AS, Material)

Sorry, it isn't 100% clear which column is CS: Material or another one.

Basically, 'F' is the collation of the server or database if different

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文