日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

在SQLServer中区分大小写的几种方法

發(fā)布時間:2025/3/14 数据库 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在SQLServer中区分大小写的几种方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
第一種:(蟋蟀)
ALTER TABLE tb
ALTER COLUMN colname nvarchar(100) COLLATE Chinese_PRC_CI_AS
--不區(qū)分大小寫
ALTER TABLE tb
ALTER COLUMN colname nvarchar(100) COLLATE Chinese_PRC_CS_AS
--區(qū)分大小寫
alter database 數(shù)據(jù)庫 COLLATE Chinese_PRC_CS_AS

第二種:(tree)
--創(chuàng)建如下用戶自定義函數(shù)(UDF)

CREATE FUNCTION StrComp(@Str1 VARCHAR(50),@Str2 VARCHAR(50))
--ALTER FUNCTION StrComp(@Str1 VARCHAR(50),@Str2 VARCHAR(50))
RETURNS INTEGER
AS
BEGIN
??DECLARE @i INTEGER
??--DECLARE @Str1 VARCHAR(50)
??--DECLARE @Str2 VARCHAR(50)
??DECLARE @y INT
??--SET @Str1='a'
??--SET @Str2='A'
??SET??@i=0
??--SELECT ASCII(SUBSTRING(@Str1,@i+1,1))
??SET @y=1
??DECLARE @iLen INT
??SET @iLen = LEN(LTRIM(RTRIM(@Str1)))
??IF LEN(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 *
from Table1
Where dbo.StrComp(Field1,'aAbB') =1

第三種:(Oliver)
SQL Server 數(shù)據(jù)庫中的文本信息可以用大寫字母、小寫字母或二者的組合進(jìn)行存儲。例如,姓氏可以"SMITH"、"Smith"或"smith"等形式出現(xiàn)。

數(shù)據(jù)庫是否區(qū)分大小寫取決于 SQL Server 的安裝方式。如果數(shù)據(jù)庫區(qū)分大小寫,當(dāng)搜索文本數(shù)據(jù)時,必須用正確的大小寫字母組合構(gòu)造搜索條件。例如,如果搜索名字"Smith",則不能使用搜索條件"=smith"或"=SMITH"。

另外,如果服務(wù)器被安裝成區(qū)分大小寫,則必須用正確的大小寫字母組合提供數(shù)據(jù)庫、所有者、表和列的名稱。如果提供的名稱大小寫不匹配,則 SQL Server 返回錯誤,報告"無效的對象名"。

當(dāng)使用關(guān)系圖窗格和網(wǎng)格窗格創(chuàng)建查詢時,查詢設(shè)計器始終正確地反映出服務(wù)器是否區(qū)分大小寫。但是,如果在 SQL 窗格中輸入查詢,則必須注意使名稱與服務(wù)器解釋名稱的方式相匹配。

如果服務(wù)器是用不區(qū)分大小寫的選項安裝的,則
提示?? 若要確定服務(wù)器是否區(qū)分大小寫,請執(zhí)行存儲過程 sp_server_info,然后檢查第 18 行的內(nèi)容。如果服務(wù)器是用不區(qū)分大小寫的設(shè)置安裝的,則 sort_order 選項將設(shè)置為"不區(qū)分大小寫"。可以從查詢分析器運(yùn)行存儲過程。

第四種:(非云)
select * from servers where convert(varbinary, name)=convert(varbinary, N'RoCKEY')

第五種:()

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

轉(zhuǎn)載于:https://www.cnblogs.com/happyday56/archive/2007/11/06/950632.html

總結(jié)

以上是生活随笔為你收集整理的在SQLServer中区分大小写的几种方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。