當前位置:首頁 » 編程語言 » 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 的大型多處理器的伺服器等多種平台使用。