首页 > 数据库 >SQLServer 查询语句指定排序规则(查询时区分大小写)

SQLServer 查询语句指定排序规则(查询时区分大小写)

时间:2023-07-15 15:23:33浏览次数:59  
标签:SQLServer ceshi bh 查询 大小写 COLLATE 规则 排序

SQLServer 查询语句指定排序规则(查询时区分大小写)

介绍

可以使用 COLLATE 子句将字符表达式应用于某个排序规则。 为字符文本和变量分配当前数据库的默认排序规则。 为列引用分配列的定义排序规则。

COLLATE

定义数据库或表列的排序规则,或应用于字符串表达式时的排序规则强制转换操作。 排序规则名称既可以是 Windows 排序规则名称Windows_collation_name ,也可以是 SQL 排序规则名称SQL_collation_name

COLLATE 子句仅适用于 char、varchar、text、nchar、nvarchar 和 ntext 数据类型。

参考文档

COLLATE

示例

指定排序规则

创建测试数据

create table #ceshi(id int, bh varchar(10))
insert into #ceshi
  values(1, 'a'), (2, 'A'), (3, 'b'), (4, 'B')

bh列按Chinese_PRC_CI_AS规则排序(小写字母优先)

select * from #ceshi order by bh COLLATE Chinese_PRC_CI_AS

查询结果

id bh
1 a
2 A
3 b
4 B

bh列按SQL_Danish_Pref_CP1_CI_AS规则排序(大写字母优先)

select * from #ceshi order by bh COLLATE SQL_Danish_Pref_CP1_CI_AS 

查询结果

id bh
2 A
1 a
4 B
3 b

查询时区分大小写

创建测试数据

create table #ceshi(id int, bh varchar(10))
insert into #ceshi
  values(1, 'aa'), (2, 'Aa')

不区分大小写

select * from #ceshi where bh = 'aa' COLLATE Chinese_PRC_CI_AS

查询结果

id bh
1 aa
2 Aa

区分大小写

select * from #ceshi where bh = 'aa' COLLATE Chinese_PRC_CS_AI

查询结果

id bh
1 aa

标签:SQLServer,ceshi,bh,查询,大小写,COLLATE,规则,排序
From: https://www.cnblogs.com/txgh/p/17556172.html

相关文章

  • ES 实战复杂sql查询、修改字段类型
    转载请注明出处:1.查询索引得mapping与setting get直接查询索引名称时,会返回该索引得mapping和settings得配置,上述返回得结构如下:{"terra-syslog_2023-07-12":{"aliases":{},"mappings":{"properties":{"@ti......
  • kibana上执行ES得DSL语言查询数据并查看表结构与数据
    转载请注明出处:1.kibana上执行DSL语言:在kibana中找到DevTools,并双击打开,就可以进入执行DSL得执行页面了 执行DSL,示例如图: 2.在kibana上查看ES得文档信息,文档结构,字段定义等在kibana得界面上进入到Management-->StackMaagement  --> Ind......
  • mysql数据库3 表关系/多表查询等
    表关系(外键)#外键的前戏建立一张表:emp"""1.表不清晰,现在到底是员工表还是部门表2.字段需要重复的写,浪费资源3.兼容性很差,牵一发而动全身(这个问题是最不能容忍的)"""#以上问题该如何解决呢?我们的思路是,把一张表拆分成两张表拆成emp和depart部门表......
  • SpringBoot整合mybatis(plus)单表查询和多表查询
    SpringBoot整合mybatis(plus)单表查询和多表查询前言mybatis是springboot常用的操作数据库的框架,能够大大简化数据库操作,其可以进行xml配置开发,也可以进行注解开发。虽然现在有mybatis-plus,功能很强大,但也只是简化了单表操作,多表操作甚是麻烦。小型项目怎么用都可以,但是对于大型项......
  • 根据域名查询部署的服务
    1、根据域名解析的ip,获取对应的服务器2、找到服务器后,先找nginx,一般域名都是通过nginx转发到对应的服务3、在nginx配置找到对应的域名配置,如果直接在本地配置的前端代码,不需要走下一步了4、如果配置的是本地ip端口号,根据端口号查找对应的进程ss-ltnp'sport=:<端口号>'输......
  • python之数据库:SQL注入问题,视图,触发器,事务,存储过程,函数,流程控制,索引,慢查询
    SQL注入问题(了解现象)importpymysql#连接MySQL服务端conn=pymysql.connect(host='127.0.0.1',port=3306,user='root',password='123',database='db8_3',charset='utf8',autocommit=True#......
  • Java优化递归查询Mysql节点树数据
    示例目前有一个功能:任务计划管理,必然存在多级子任务的父子级关系,每个任务还会存在其它数据的关联表。mysql无法一次性递归查出想要的数据结构,想必很多人都会是通过根目录递归查询数据库的方式查出树结构数据。如果节点数较多,就会造成大量请求Mysql查询,效率会很低。那么如......
  • 【HMS Core】Health Kit 步数数据查询步骤咨询,血压/血氧的原子采样统计数据类型问题咨
    ​【问题描述】1、在进行步数查询---多日统计数据查询的时候,postman测试,发现了采样数据类型不匹配问题多日统计查询时,数据类型为 "com.huawei.continuous.steps.total"报错。反而数据类型为明细采样数据类型时“com.huawei.continuous.steps.delta”,正常返回。2、血压/血氧的......
  • SQLServer批量修改和插入
    SQLServer批量修改或插入场景今天在工作中遇到这么一个场景,我需要根据条件对表A做批量更新或插入。因为条件比较复杂,所以我使用了临时表B,先把需要更新或插入的数据查询出来放入临时表。然后更新表A的某字段,更新条件是A.id=B.id,更新效果是若记录存在表A中,则更新表A的字段,若不......
  • Oracle 中实现交叉表 查询
    交叉表能清晰准确的反映出数据的关系,因此在实际应用中也经常见到,但是作为二维表格的关系型数据在统计时不能简单的通过查询来实现,这里以Oracle为例简单介绍一下交叉表的查询:百度模板图片:一、创建数据表--建表createtabletbUser(Gendervarchar2(10),Handnessvarchar2(3......