SQLServer sql 強制區分大小寫

2021-06-20 05:24:36 字數 2335 閱讀 4994

剛剛使用sql server沒有幾天, 發現乙個很鬱悶的問題, sql server 竟然不區分大小寫. 比如: select * from abc_tbl where field_1 = 'abc', 這個sql跟這個sql是一樣的: select * from abc_tbl where field_1 = 'abc', 上網search了一下, 趕緊收藏:

第零種:

select a

collate chinese_prc_ci_as

from dbo.test1 where c1 is not null;

collate chinese_prc_cs_as -- 區分大小寫

collate chinese_prc_ci_as --不區分大小寫

第一種:(蟋蟀)

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 (指定整個資料庫)

第二種:(tree)

--建立如下使用者自定義函式(udf)

create function strcomp(@str1 varchar(50),@str2 varchar(50))

--alter function strcomp(@str1 varchar(50),@str2 varchar(50))

returns integer

asbegin

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

endend

return @y

end

測試:select *

from table1

where dbo.strcomp(field1,'aabb') =1

第三種:(oliver)

sql server 資料庫中的文字資訊可以用大寫字母、小寫字母或二者的組合進行儲存。例如,姓氏可以"smith"、"smith"或"smith"等形式出現。

資料庫是否區分大小寫取決於 sql server 的安裝方式。如果資料庫區分大小寫,當搜尋文字資料時,必須用正確的大小寫字母組合構造搜尋條件。例如,如果搜尋名字"smith",則不能使用搜尋條件"=smith"或"=smith"。

另外,如果伺服器被安裝成區分大小寫,則必須用正確的大小寫字母組合提供資料庫、所有者、表和列的名稱。如果提供的名稱大小寫不匹配,則 sql server 返回錯誤,報告"無效的物件名"。

當使用關係圖窗格和網格窗格建立查詢時,查詢設計器始終正確地反映出伺服器是否區分大小寫。但是,如果在 sql 窗格中輸入查詢,則必須注意使名稱與伺服器解釋名稱的方式相匹配。

如果伺服器是用不區分大小寫的選項安裝的,則

提示 若要確定伺服器是否區分大小寫,請執行儲存過程 sp_server_info,然後檢查第 18 行的內容。如果伺服器是用不區分大小寫的設定安裝的,則 sort_order 選項將設定為"不區分大小寫"。可以從查詢分析器執行儲存過程。

第四種:(非雲)

select * from servers where convert(varbinary, name)=convert(varbinary, n'rockey')

第五種:()

SQL SERVER SQL傳送郵件

xhtml view plain copy print?sql server 並沒有內建郵件伺服器 mail server 它跟我們傳送郵件一樣,需要使用者名稱和密碼通過 smtp message transfer protocol 去連線郵件伺服器。我們想讓 sql server 來傳送郵件,首先...

SQL Server SQL分頁查詢

sql server sql分頁查詢的幾種方式目錄 0.序言 1.top not in 2.row number 3.offset fetch 4.執行計畫 5.補充 0.序言 總結一下sql server種常用的幾種分頁查詢 本示例中用的時已有的表,建表不規範,name作為主鍵,建議實際使用中專門...

SQL Server SQL語句匯入匯出大全

匯出到excel exec master.xp cmdshell bcp settledb.dbo.shanghu out c temp1.xls c q s gnetdata gnetdata u sa p 匯入excel select from opendatasource microsoft....