當前位置:首頁 » 編程語言 » sqlserver大小寫

sqlserver大小寫

發布時間: 2022-07-16 09:08:36

1. 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()一起用

2. 請教sqlserver是不是對表名和列名也不區分大小寫

右鍵你的資料庫->屬性->Options,查看Collation(就是排序規則)。凡是裡面能看見_CS_的就是區分大小寫,CaseSensitive.沒有的就不區分。參照這個:

3. sqlserver不區分大小寫嗎

SQL不區分大小寫,但是你可以加些限制

select * from table where name='a' collate Chinese_PRC_CS_AI

4. 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區分
區分大小寫:如果想讓比較將大寫字母和小寫字母視為不等,請選擇該選項。
區分重音:如果想讓比較將重音和非重音字母視為不等,請選擇該選項。如果選擇該選項,比較還將重音不同的字母視為不等。
區分假名:如果想讓比較將片假名和平假名日語音節視為不等,請選擇該選項。
區分寬度:如果想讓比較將半形字元和全形字元視為不等,請選擇該選項

5. sqlserver 區分大小寫嗎

是區分大小寫的
在SQLServer中區分大小寫的幾種方法

今天碰到這個問題了,問了一下朋友,給出了以下幾種解決方法,貼出來大家都看一下:

第一種:
ALTER TABLE tb
ALTER COLUMN colname nvarchar(100) COLLATE Chinese_PRC_CI_AS
--不區分大小寫
ALTER TABLE tb
ALTER COLUMN colname nvarchar(100) COLLATE Chinese_PRC_CS_AS
--區分大小寫
alter database 資料庫 COLLATE Chinese_PRC_CS_AS

第二種:
--創建如下用戶自定義函數(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

第三種:
SQL Server 資料庫中的文本信息可以用大寫字母、小寫字母或二者的組合進行存儲。例如,姓氏可以"SMITH"、"Smith"或"smith"等形式出現。
資料庫是否區分大小寫取決於 SQL Server 的安裝方式。如果資料庫區分大小寫,當搜索文本數據時,必須用正確的大小寫字母組合構造搜索條件。例如,如果搜索名字"Smith",則不能使用搜索條件"=smith"或"=SMITH"。

6. SQL不是不區分大小寫嗎

sql關鍵字不區分大小寫。
比如,select 或者SELECT都是可以的,甚至寫成 sElEct在大多數資料庫中都允許。
自定義對象則和資料庫本身設置有關。
比如,表名和欄位名等。sqlserver默認配置下是不區分大小寫的,oracle在默認配置下是區分大小寫的。不過都可以通過配置選項來配置。
資料庫自帶函數則和資料庫有關。
比如日期函數,cast,convert函數等。在sqlserver中,是不區分大小寫的,但是informax數據中,部分函數區分大小寫。這個要看具體資料庫了。

7. 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--在資料庫屬性-->選項中可以設置資料庫排序規則--查詢當前可用的排序規則

8. SQL語句區分大小寫嗎

所有的都不區分大小寫

關鍵字用大寫只是一種習慣而已

就像 VB 也不分大小寫,但是都會採用單詞首字母大寫的習慣。

熱點內容
康佳29寸電視存儲器壞怎麼代換 發布:2025-02-01 22:40:44 瀏覽:186
訪問的結果 發布:2025-02-01 22:30:12 瀏覽:174
cmd訪問網站 發布:2025-02-01 22:02:45 瀏覽:440
清除svn緩存 發布:2025-02-01 22:01:04 瀏覽:945
安卓模擬器怎麼用鍵盤操作 發布:2025-02-01 21:55:24 瀏覽:808
安卓手機屏幕為什麼會變色 發布:2025-02-01 21:55:20 瀏覽:823
安卓存摺怎麼看余額 發布:2025-02-01 21:53:34 瀏覽:770
其他電腦怎麼設置訪問伺服器 發布:2025-02-01 21:34:27 瀏覽:895
如何敲編程 發布:2025-02-01 21:26:13 瀏覽:25
微信加密嗎 發布:2025-02-01 21:26:07 瀏覽:43