SQL Server排序规则忽略单引号和连字符的解决问题

时间:2021-10-22 04:32:44
我司现在用SQL Server排序规则 是SQL_Latin1_General_CP1_CI_AS,过滤条件有中文的话是要加N的,
但现在客户提到一个问题: 1-011和10-011的排序是10-011在前,这并不是客户想要的。
由于整套系统都是这样子,所以不可能只修改这一个SQL语句达到目的,所以决定要修改排序规则,又不影响原先的SQL使用
所以,想问是否有其他的COLLATE可以完美的兼容解决此问题。

注:现在只有这么点分了,以后分多了多补。

7 个解决方案

#1


让客户端作排序吧

#2


客户端做排序还是这样子的  Windows 排序规则中忽略单引号和连字符的问题造成

#3


引用 1 楼 hujiiori 的回复:
让客户端作排序吧

Windows 排序规则中忽略单引号和连字符的问题造成

#4


整数据库的修改字段排序规则比较麻烦,而且也不一定能达到客户所要求的结果,
要是哪天客户又想修改呢?又要整库的改吗?

建议: 在前端显示结果的查询语句中加order by语句或强制指定排序规则.

#5


引用 4 楼 ap0405140 的回复:
整数据库的修改字段排序规则比较麻烦,而且也不一定能达到客户所要求的结果,
要是哪天客户又想修改呢?又要整库的改吗?

建议: 在前端显示结果的查询语句中加order by语句或强制指定排序规则.

哦 这么说还是只针对这一个SQL 拿数据修改。

#6


引用 2 楼 aluohuaxian 的回复:
客户端做排序还是这样子的  Windows 排序规则中忽略单引号和连字符的问题造成

我说的是客户端自定义排序方法
类似这样
http://msdn.microsoft.com/en-us/library/ms171608(v=vs.90).aspx

#7


引用 6 楼 hujiiori 的回复:
Quote: 引用 2 楼 aluohuaxian 的回复:

客户端做排序还是这样子的  Windows 排序规则中忽略单引号和连字符的问题造成

我说的是客户端自定义排序方法
类似这样
http://msdn.microsoft.com/en-us/library/ms171608(v=vs.90).aspx

 这么说还是只针对这一个 拿数据的SQL修改。

#1


让客户端作排序吧

#2


客户端做排序还是这样子的  Windows 排序规则中忽略单引号和连字符的问题造成

#3


引用 1 楼 hujiiori 的回复:
让客户端作排序吧

Windows 排序规则中忽略单引号和连字符的问题造成

#4


整数据库的修改字段排序规则比较麻烦,而且也不一定能达到客户所要求的结果,
要是哪天客户又想修改呢?又要整库的改吗?

建议: 在前端显示结果的查询语句中加order by语句或强制指定排序规则.

#5


引用 4 楼 ap0405140 的回复:
整数据库的修改字段排序规则比较麻烦,而且也不一定能达到客户所要求的结果,
要是哪天客户又想修改呢?又要整库的改吗?

建议: 在前端显示结果的查询语句中加order by语句或强制指定排序规则.

哦 这么说还是只针对这一个SQL 拿数据修改。

#6


引用 2 楼 aluohuaxian 的回复:
客户端做排序还是这样子的  Windows 排序规则中忽略单引号和连字符的问题造成

我说的是客户端自定义排序方法
类似这样
http://msdn.microsoft.com/en-us/library/ms171608(v=vs.90).aspx

#7


引用 6 楼 hujiiori 的回复:
Quote: 引用 2 楼 aluohuaxian 的回复:

客户端做排序还是这样子的  Windows 排序规则中忽略单引号和连字符的问题造成

我说的是客户端自定义排序方法
类似这样
http://msdn.microsoft.com/en-us/library/ms171608(v=vs.90).aspx

 这么说还是只针对这一个 拿数据的SQL修改。