当前位置:首页 » 编程语言 » sqlserver大小写转换
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sqlserver大小写转换

发布时间: 2023-02-26 05:15:51

sqlServer数据库区分大小写的几种方法

第一种:

ALTERTABLEtb--(指定某表的某列)
ALTERCOLUMNcolnamenvarchar(100)COLLATEChinese_PRC_CI_AS--不区分大小写

ALTERTABLEtb--(指定某表的某列)
ALTERCOLUMNcolnamenvarchar(100)COLLATEChinese_PRC_CS_AS--区分大小写

alterdatabase数据库COLLATEChinese_PRC_CS_AS--(指定整个数据库)


第二种:

--创建如下用户自定义函数(UDF)

CREATEFUNCTIONStrComp(@Str1VARCHAR(50),@Str2VARCHAR(50))
--ALTERFUNCTIONStrComp(@Str1VARCHAR(50),@Str2VARCHAR(50))
RETURNSINTEGER
AS
BEGIN
DECLARE@iINTEGER
--DECLARE@Str1VARCHAR(50)
--DECLARE@Str2VARCHAR(50)
DECLARE@yINT
--SET@Str1='a'
--SET@Str2='A'
SET@i=0
--SELECTASCII(SUBSTRING(@Str1,@i+1,1))
SET@y=1
DECLARE@iLenINT
SET@iLen=LEN(LTRIM(RTRIM(@Str1)))
IFLEN(LTRIM(RTRIM(@Str1)))<LEN(LTRIM(RTRIM(@Str2)))--THEN
SET@iLen=LEN(LTRIM(RTRIM(@Str2)))
WHILE(@i<@iLen)
BEGIN
IF(ASCII(SUBSTRING(@Str1,@i+1,1))=ASCII(SUBSTRING(@Str2,@i+1,1)))--THEN
SET@i=@i+1
ELSE
BEGIN
SET@y=0
BREAK
END
END
RETURN@y
END

测试:

select*
fromTable1
Wheredbo.StrComp(Field1,'aAbB')=1


第三种:
SQL Server 数据库中的文本信息可以用大写字母、小写字母或二者的组合进行存储。例如,姓氏可以"SMITH"、"Smith"或"smith"等形式出现。

数据库是否区分大小写取决于 SQL Server 的安装方式。如果数据库区分大小写,当搜索文本数据时,必须用正确的大小写字母组合构造搜索条件。例如,如果搜索名字"Smith",则不能使用搜索条件"=smith"或"=SMITH"。

另外,如果服务器被安装成区分大小写,则必须用正确的大小写字母组合提供数据库、所有者、表和列的名称。如果提供的名称大小写不匹配,则 SQL Server 返回错误,报告"无效的对象名"。

当使用关系图窗格和网格窗格创建查询时,查询设计器始终正确地反映出服务器是否区分大小写。但是,如果在 SQL 窗格中输入查询,则必须注意使名称与服务器解释名称的方式相匹配。

如果服务器是用不区分大小写的选项安装的,则
提示 若要确定服务器是否区分大小写,请执行存储过程 sp_server_info,然后检查第 18 行的内容。如果服务器是用不区分大小写的设置安装的,则 sort_order 选项将设置为"不区分大小写"。可以从查询分析器运行存储过程。

第四种:

select*fromserverswhereconvert(varbinary,name)=convert(varbinary,N'RoCKEY')

第五种:

ascii('a')再配合Substring()一起用

❷ 如何在SQL中实现区分大小写的查询

  1. 在创建数据库时,指定要区分大小写,或者后期再做更改也可以alter database dbname collate chinese_prc_cs_as

  2. 在创建表时,指定要区分大小写,或者后期再做更改也可以 alter table tbname collate chinese_prc_cs_as

  3. 如果只是想使用一次,不想修改整个表或整个数据库。

    3.1可以在使用时,将查询或使用到的字段,转成二进制形式进行比较就可以了(大小写的二进制形式肯定是不一样的~)

    3.2可以在查询或使用时,指名使用 简体中文做为数据库的查询规则。 指定SQL server的排序规则 Chinese_PRC指的是中国大陆地区,如果是台湾地区则为Chinese_Taiwan CI指定不区分大小写,如果要在查询时区分输入的大小写则改为CS AS指定区分重音,同样如果不需要区分重音,则改为AI COLLATE可以针对整个数据库更改排序规则,也可以单独修改某一个表或者某一个字段的排序规则,指定排序规则很有用,比如用户管理表,需要验证输入的用户名和密码的正确性,一般是要区分大小写的。 使用collate: select * from 表 where 字段='King' collate chinese_prc_cs_as 或者 转换为varbinary select * from 表 where convert(varbinary(1000),字段)=convert(varbinary(1000),'King')

❸ SQL语句 转换大小写问题

那你可以把首字符提取出来

declare @it varchar(8)
set @it='IT_PROG'
select charindex('_',@it)+1 --取出P处在位置,就是你变大写的位置
select Lower(@it) --转化为小写
select substring(@it,charindex('_',@it)+1,1) '取出P字母
select upper(substring(@it,charindex('_',@it)+1,1))) 把P变成大写
综合以下:
select stuff(lower(@it),charindex('_',@it)+1,1,upper(substring(@it,charindex('_',@it)+1,1)))

注stuff()用来把大写P代替小写p

❹ Sqlserver查询的时候是否区分大小写的问题

关于sql中查询的时候是否区分大小写的问题
CI指定不区分大小写,CS指定区分大小写
AI指定不区分重音,AS指定区分重音
Pref
指定大写字母优先
Omitted指定不区分全半角,WS指定区分全半角
如果绑定到架构的对象依赖于数据库排序规则,则无法更改数据库排序规则。请删除数据库排序规则的依赖项,然后重试操作
alter
database
MySchool
COLLATE
Chinese_PRC_CS_AS
--可以针对某个表使用区分大小写的查询
Select
*
From
[Users]
Where
uLoginName='ADMIN'
collate
Chinese_PRC_CS_AI_WS--在数据库属性-->选项中可以设置数据库排序规则--查询当前可用的排序规则

❺ sqlserver字段区分大小写吗

在SQL Server中默认对大小写是不敏感的,例如fname='peter'和fname='PETER'结果是一样的。但有时候用户会要求区分大小写,如验证密码等。这种情况下的处理办法就是在字段后加上
collate Chinese_PRC_CS_AS_WS如:select * from HRS_EMPLOYEE where EMPLOYEE_NAME='admin' AND PASSWORD
collate Chinese_PRC_CS_AS_WS='hongli'是否区分大小写与排序规则有关,排序规则中各部分含义如下所示:
举例分析 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区分
区分大小写:如果想让比较将大写字母和小写字母视为不等,请选择该选项。
区分重音:如果想让比较将重音和非重音字母视为不等,请选择该选项。如果选择该选项,比较还将重音不同的字母视为不等。
区分假名:如果想让比较将片假名和平假名日语音节视为不等,请选择该选项。
区分宽度:如果想让比较将半角字符和全角字符视为不等,请选择该选项

❻ SQL server 把小写字母改为大写字母的语句

一、小写改大写SQL语句:

(1)将小写转换为大写:UPPER(cust_id)

注:详细使用情况可以看下图

二、拓展资料

SQL Server 是一个关系数据库管理系统。它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的,于icrosoft SQL Server1988 年推出了第一个OS/2 版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNIX 操作系统上的应用。

SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统,该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。