SQL语句中 chinese_prc_CS_AI_WS 以及replace用法

Select * from [DBData].[dbo].[T_Student] where Name=‘lilei‘

查询结果如下:

结论:由查询结果可知 SQL Server 默认是不区分大小写的。

Select * from [DBData].[dbo].[T_Student] where Name like ‘%(%‘ COLLATE chinese_prc_CS_AI_WS

查询结果如下:

排序规则名称由两部份构成,前半部份是指本排序规则所支持的字符集。
如:
  Chinese_PRC_CS_AI_WS
前半部份:指UNICODE字符集,Chinese_PRC_指针对大陆简体字UNICODE的排序规则。
排序规则的后半部份即后缀 含义:
  _BIN 二进制排序
  _CI(CS) 是否区分大小写,CI不区分,CS区分
  _AI(AS) 是否区分重音,AI不区分,AS区分   
  _KI(KS) 是否区分假名类型,KI不区分,KS区分 
     _WI(WS) 是否区分宽度 WI不区分,WS区分 

区分大小写:如果想让比较将大写字母和小写字母视为不等,请选择该选项。
区分重音:如果想让比较将重音和非重音字母视为不等,请选择该选项。如果选择该选项,
         比较还将重音不同的字母视为不等。
区分假名:如果想让比较将片假名和平假名日语音节视为不等,请选择该选项。
区分宽度:如果想让比较将半角字符和全角字符视为不等,请选择该选项。

 作用:将表中列名为“Name”的列中的所有中文括号改为英文括号。

SQL中的replace函数

REPLACE

用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式。

语法

      REPLACE ( ‘string_expression1‘ , ‘string_expression2‘ , ‘string_expression3‘ )

      

参数

string_expression1

待搜索的字符串表达式。string_expression1 可以是字符数据或二进制数据。

string_expression2

待查找的字符串表达式。string_expression2 可以是字符数据或二进制数据。

string_expression3

替换用的字符串表达式。string_expression3 可以是字符数据或二进制数据。

返回类型

如果 string_expression(1、2 或 3)是支持的字符数据类型之一,则返回字符数据。如果string_expression(1、2 或 3)是支持的 binary 数据类型之一,则返回二进制数据。

时间: 2024-10-19 22:34:42

SQL语句中 chinese_prc_CS_AI_WS 以及replace用法的相关文章

SQL语句中的select高级用法

为了更好的了解下面的知识点,我们先创建两张表并插入数据. # 学生表 +----+-----------+------+--------+--------+--------+-----------+ | id | name | age | height | gender | cls_id | is_delete | +----+-----------+------+--------+--------+--------+-----------+ | 1 | 小明 | 18 | 180.00 | 女

SQL语句中OVER函数的用法

over不能单独使用,要和分析函数:rank(),dense_rank(),row_number()等一起使用.其参数:over(partition by columnname1 order by columnname2)含义:按columname1指定的字段进行分组排序,或者说按字段columnname1的值进行分组排序.例如:employees表中,有两个部门的记录:department_id =10和20select department_id,rank() over(partition

Oracle的sql语句中case关键字的用法

例子1: a)查询列中有"_"开头的列名时,需要用双引号引起来. b)使用"case"关键字,根据分数直接判断是否及格. create table tbl_score( id NUMBER(4), --id name varchar2(30), --名称 score NUMBER(3), --分数 otherscore NUMBER(3) --其他分数 ); select t.id as "_id", t.name as name, case w

SQL语句中having的用法

在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用. having子句用法一(来自w3school): SQL HAVING 语法如下 SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name HAVING aggregate_function(column_name) ope

SQL语句中count(1)count(*)count(字段)用法的区别

SQL语句中count(1)count(*)count(字段)用法的区别 在SQL语句中count函数是最常用的函数之一,count函数是用来统计表中记录数的一个函数, 一. count(1)和count(*)的区别 1. count(1)和count(*)的作用: 都是检索表中所有记录行的数目,不论其是否包含null值. 2. 区别:但是count(1)比count(*)效率更高 二 . count(字段)与count(1)和count(*)的区别 count(字段)的作用是检索表中的这个字段

SQL语句中,Conversion failed when converting datetime from character string.错误的解决办法

在项目开发过程中,我们经常要做一些以时间为条件的查询,比如查询指定时间范围内的历史记录,然而这些时间都是从UI传递过来的参数,所以我们写的sql语句就必须用到字符串拼接.当然,在C#中写SQL语句还好处理,可以使用C#的字符串函数做对应的数据类型转换.但是,如果用的是存储过程的话,就有点纠结了.下面来说一下我在写存储过程中遇到的问题: 为了更加直接的说明问题,写如下一个简单的例子: declare @dateFrom datetime; declare @dateTo datetime; dec

SQL语句中生成UUID方法

SQL语句中生成UUID方法为UUID() 生成带横线UUID: select UUID()                         形如:abaffaca-fd55-11e5-b3d0-d2c510923c15 生成32位不带横线UUID: select replace(UUID?(),'-','')      形如:804a9aa2fd5311e5b3d0d2c510923c15? 原文地址:https://www.cnblogs.com/tianmh/p/9088709.html

'OFFSET' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。

原因:可能因为本地开发环境的数据库版本高于服务器版本,导致 EF 生成了错误的 SQL 语句 解决:找到 EF 对应生成的 edmx 文件,选中右键-打开方式-使用 XML 文本编辑器 打开编辑,找到“ProviderManifestToken”这一属性, EF 此属性值为 2012,而服务器中是 2008 版本的SQLServer数据库,所以将此属性值修改为 2008 即可. 'OFFSET' 附近有语法错误. 在 FETCH 语句中选项 NEXT 的用法无效. 原文地址:https://ww

回顾sql语句中的各种连接

1. 内连接(Inner Join) 内连接是最常见的一种连接,它页被称为普通连接,而E.FCodd最早称之为自然连接. 下面是ANSI SQL-92标准 select * from    t_institution i inner join t_teller t on i.inst_no = t.inst_no where i.inst_no = "5801" 其中inner可以省略. 等价于早期的连接语法 select * from t_institution i, t_telle