SQL 排序和连字符

2023-12-20

有没有一种方法可以在 SQL Server 2005 中轻松排序,同时忽略字符串字段中的连字符?目前我必须执行 REPLACE(fieldname,'-','') 或函数来删除排序子句中的连字符。我希望可以在存储过程的顶部设置一个标志或其他东西。

Access 和 GridView 默认排序似乎忽略字符串中的连字符。


我学到了新东西,就像你一样

我相信区别在于“字符串排序" vs a "词排序“(忽略连字符)

WORD 排序和 STRING 排序之间的示例差异http://andrusdevelopment.blogspot.com/2007/10/string-sort-vs-word-sort-in-net.html http://andrusdevelopment.blogspot.com/2007/10/string-sort-vs-word-sort-in-net.html

来自微软http://support.microsoft.com/kb/322112 http://support.microsoft.com/kb/322112

例如,如果您使用 SQL 整理 “SQL_Latin1_General_CP1_CI_AS”, 非 Unicode 字符串 'a-c' 小于 字符串 'ab' 因为连字符 (“-”)作为单独的排序 “b”之前的字符。 但是,如果您转换这些字符串 到 Unicode 并且执行相同的操作 比较,Unicode 字符串 N'a-c' 被认为大于 N'ab' 因为 Unicode 排序规则使用 忽略连字符的“单词排序”。

我做了一些示例代码 您还可以使用 COLLATE 来找到适合您排序的选项

DECLARE @test TABLE
(string VARCHAR(50))

INSERT INTO @test SELECT 'co-op'
INSERT INTO @test SELECT 'co op'
INSERT INTO @test SELECT 'co_op'

SELECT * FROM @test ORDER BY string --COLLATE SQL_Latin1_General_Cp1_CI_AS
--co op
--co-op
--co_op

SELECT * FROM @test ORDER BY CAST(string AS NVARCHAR(50)) --COLLATE SQL_Latin1_General_Cp1_CI_AS
--co op
--co_op
--co-op
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL 排序和连字符 的相关文章

  • 使用链表进行堆排序

    我想知道是否有人曾经使用链表进行堆排序 如果他们可以提供代码 我已经能够使用数组进行堆排序 但尝试在链表中进行排序似乎不切实际 而且在你知道的地方很痛苦 我必须为我正在做的项目实现链接列表 任何帮助将不胜感激 我也用C 答案是 你不想在链表
  • LEFT JOIN 比 INNER JOIN 快得多

    我有一张桌子 MainTable 有超过 600 000 条记录 它通过第二个表连接到自身 JoinTable 在父 子类型关系中 SELECT Child ID Parent ID FROM MainTable AS Child JOIN
  • 在Python上获取字典的前x个元素

    我是Python的新手 所以我尝试用Python获取字典的前50个元素 我有一本字典 它按值降序排列 k 0 l 0 for k in len dict d l 1 if l lt 51 print dict 举个小例子 dict d m
  • 如何在 Mongoose 中定义排序函数

    我正在开发一个小型 NodeJS Web 应用程序 使用 Mongoose 访问我的 MongoDB 数据库 我的收藏的简化架构如下 var MySchema mongoose Schema content type String loca
  • SQL Server 2005 中的计数(*) 与计数(Id)

    我使用 SQLCOUNT函数获取表中的总数或行数 以下两种说法有什么区别吗 SELECT COUNT FROM Table and SELECT COUNT TableId FROM Table 另外 在性能和执行时间方面有什么区别吗 Th
  • j2me中读取文件内容

    我有一个如下所示的文件 OrderNo id name count Format 1 AA1 sdflsdfsdfd 12 01 2 AB2 asdaewqrftr 13 02 3 AA3 aerefytrsu 12 01 我想读取这个文件
  • 选择列的一部分

    我想知道是否有人可以帮助查询以选择列的一部分 criteriadata 列包含如下所示的数据 标准数据 14 27 15 14 30 15 DD 14 38 15 通过 14 33 15 通过 如何只选择数字 15 之后出现的数据 非常感谢
  • C# SqlDataReader 执行统计信息和信息

    我正在创建一个自动数据库查询执行队列 这本质上意味着我正在创建一个 SQL 查询队列 这些查询将被一一执行 使用类似于以下的代码执行查询 using SqlConnection cn new SqlConnection Configurat
  • Django Admin:引用用户的ForeignKey和ManyToManyField关系的排序

    我有一个使用 Django 的应用程序UserProfile扩展内置的 DjangoUser模型 看起来有点像 class UserProfile models Model user models ForeignKey User uniqu
  • 按共同关联的数量排序 (Rails)

    背景 我有帖子和用户 并且都有很多社区 客观的 对于任何给定的用户 我想返回一个帖子集合 按该帖子与该用户有共同社区的数量排序 具有更多共同社区的帖子位于更高的位置 我当前的尝试 使用排序方法 有效 Post includes commun
  • 通过网络恢复数据库备份

    如何通过网络使用 SQL Server 2005 恢复数据库备份 我记得以前这样做过 但这样做的方式有些奇怪 您几乎没有选择使用网络文件作为备份源 在与 MS SQL Server 相同的用户下映射网络驱动器 路径 托管文件 使用 xp c
  • 如何在 C# 中使用键对 NameValueCollection 进行排序?

    我编写了以下代码 它也有效 但我想知道它们是否比这更好 NameValueCollection optionInfoList if aSorting optionInfoListSorted new nameValueCollection
  • Python Pandas 根据另一列的总计从另一个数据帧中选择值

    我下面有一个 DataFrame 但我需要根据取消和订单列从每个代码中选择行 假设代码 xxx 的阶数为 6 1 5 1 阶数为 11 我需要一种算法 可以选择满足总共 11 行的行 阶数为 6 5 如果没有行匹配 则选择最接近的 id 并
  • 选择两列中两个日期之间的记录

    如何选择两列中两个日期之间的记录 Select From MyTable Where 2009 09 25 is between ColumnDateFrom to ColumnDateTo 我有一个日期 2009 09 25 我喜欢选择
  • sql脚本变量默认值

    我有一个脚本文件 例如测试 sql 我想从另一个脚本调用它 比如 caller sql 在 sqlcmd 模式下使用 r test sql 这工作正常 但我想在 test sql 中使用脚本变量 当我从 caller sql 调用 test
  • 按字母顺序对列表进行排序

    我有以下课程 class Detail public Detail details new List
  • Javascript 无法正确排序 DECIMAL 数字

    我有一些代码可以按字母顺序对名称进行排序 我遇到的问题是它处理小数的方式 它对名称进行排序 如下所示 我宁愿它按数字递增 DOG 1 0510 DOG 1 1031 DOG 11 1792 DOG 12 0920 DOG 12 1170 D
  • 基于数组对列表进行排序

    我正在尝试根据字符串数组对自定义列表进行排序 但我失败得很惨 例如它根本没有对列表进行排序 Public class CrateOrder public int Id get set public string Name get set p
  • 使用向量的 merge_sort 在少于 9 个输入的情况下效果很好

    不知何故 我使用向量实现了合并排序 问题是 它可以在少于 9 个输入的情况下正常工作 但在有 9 个或更多输入的情况下 它会执行一些我不明白的操作 如下所示 Input 5 4 3 2 1 6 5 4 3 2 1 9 8 7 6 5 4 3
  • ggplot2 方面的内部排序

    我正在尝试在 ggplot2 中绘制一个方面 但我很难使不同方面的内部顺序正确 数据如下 head THAT EXT ID FILE GENRE NODE 1 CKC 1823 01 CKC Novels better 2 CKC 1824

随机推荐

  • 在 MATLAB 的搜索路径上找不到 MATLAB 超类

    我有两条路 C controller functions verifyModel m C OGVD prod KMLP controller controllerStatus m 验证模型 m classdef verifyModel me
  • 添加一个类似于本机应用程序的设置页面

    我想创建设置页面 它看起来像本机平台上的设置 例如 Android 上带有 xml 的 PreferenceActivity Fragment 我习惯于通过在 Android 上创建简单的首选项 xml 来设计设置页面 它可以完美地处理基本
  • 使用 Pandas OLS 进行预测

    我一直在使用scikits statsmodels OLS 预测 http statsmodels sourceforge net generated scikits statsmodels regression linear model
  • 如何使用打开文件对话框?

    我正在尝试编写代码来使用公钥加密文本并使用私钥和密码进行解密 我不太擅长编程语言 因为我不是编程学生 但对于我的小型项目 我需要编写一些有关加密的程序 对于下面的代码 使用我的 C 驱动器中的文本文件来使用公钥进行编码 但我想使用 open
  • 无法访问的代码可以安全删除吗? (-Wunreachable-代码)

    我有一个旧程序 是通过 CFLAGS Wunreachable code 使用 clang 构建的 它在某些 switch 上显示一些警告 在中断时 它说它 永远不会被执行 简单地删除无法访问的代码是否安全 或者本质上是 Wunreacha
  • C++ 没有匹配的构造函数

    最近 我开始学习 C 这是我的第一个 C 程序 但它不起作用 错误信息 没有用于初始化 文档 的匹配构造函数 我使用的IDE是Xcode class Document private int doc id int lan id std ve
  • 测试应用内计费的订阅功能

    是否可以测试应用内结算的订阅功能 我尝试使用保留的产品 ID 进行测试 android test purchased 但它给出了类似 未找到项目 的错误 我正在使用应用内计费版本 3 我无法从网络上找到结论性答案 任何帮助表示赞赏 自 20
  • 验证 AngularJS 中名称包含括号的输入

    我有一个表单输入 其名称包含括号 例如
  • 当我什至没有使用 TypeScript 时,为什么会收到一条错误消息,提示“需要属性分配”?

    我的代码是 import React from react import Text StyleSheet View from react native const ComponentsScreen gt return
  • 从 URL 中删除尾部斜杠是否总是安全的?

    我将 URL 存储在数据库中 并且我希望能够知道两个 URL 是否相同 一般来说 末尾的斜杠不会改变您从服务器获得的响应 IE http www google com http www google com 是相同的http www goo
  • 第二个窗口首先运行如何停止它

    当我运行 python 文件kill app 时 它运行第一个第二个 python 文件 Hb test py 然后在 tkinter 上运行第一个 python 我正在使用 vs code python 版本是 3 10 看下面的代码 f
  • asp.net MVC5 - 依赖注入和 AuthorizeAttribute

    我花了很长时间寻找解决我的问题的方法 我有一个自定义的 AuthorizeAttribute 它需要依赖于可以访问 DbContext 的 服务 遗憾的是 依赖注入在自定义 AuthorizeAttribute 中不起作用 并且始终为 nu
  • 使用 jQuery 从右向左滑动 DIV

    我使用 jQuery 代码在加载时从左到右对 div 进行动画处理 然后通过单击关闭按钮 div 从右到左隐藏 它工作正常 只是不是水平地从左到右 而是对角线 我究竟做错了什么 这是我正在使用的代码的示例http jsfiddle net
  • 使用预先配置的作业创建 Jenkins Docker 映像

    我创建了一堆本地部署管道作业 这些作业执行诸如删除现有容器 在本地构建服务 构建 docker 映像 运行容器等操作 这些不是 CI CD 作业 只是用于部署的小型管道开发期间在本地进行 我现在想做的是将其提供给我们所有的开发人员 这样他们
  • 使用 grep 正则表达式匹配任意数量的数字

    我有一个文件 其中的行看起来类似如下 data datalater 983290842 Data387428later datafhj893724897290384later 4329804928later 我想要做的是使用正则表达式来匹配
  • 使用 Postman 将 GUID 列表发布到 MVC 5 控制器

    我正在尝试制作一个控制器方法 public String CreateGasolineBlend List
  • 试图理解为什么在 Haskell 中使用foldr的这个函数不起作用

    所以我是 Haskell 的新手 并使用 WikiBooks 来学习它 在高阶函数章节中 使用了以下示例 echoes foldr x xs gt replicate x x xs 所以我尝试运行它 但它给了我一个错误 如下所示 Ambig
  • Symfony 根据日期计算天数

    我正在尝试根据日期计算 1 21 天的价格 家庭控制器 Sql SELECT DISTINCT a property id a date a minimum stay a maximum stay a quantity a arrival
  • git - 修剪空格

    我不小心加了一些空格我最初的承诺 http github com josh brown euler python commit 5eed0c8874141b87deae35de57589cd38e03dfaa 它显示为红色git diff
  • SQL 排序和连字符

    有没有一种方法可以在 SQL Server 2005 中轻松排序 同时忽略字符串字段中的连字符 目前我必须执行 REPLACE fieldname 或函数来删除排序子句中的连字符 我希望可以在存储过程的顶部设置一个标志或其他东西 Acces