當前位置:首頁 » 編程語言 » sql怎麼判斷是大小寫的
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql怎麼判斷是大小寫的

發布時間: 2023-02-20 01:54:51

A. 求助高手.如何用sql語句區分大小寫

關鍵字是不分大小寫的,如select ,from ,where,group by ,order by ,having,update delete ,insert into,sum,avg,min,max 等等。
查詢的內容是分大小寫的,如表名,欄位名,等

B. sql語句區分大小寫嗎

SQL大小寫並不敏感,但是如果是引起來的字元,則是區分大小寫的,

示例如下,

1、創建測試表,create table test_uporlow(id number, value varchar2(20));

C. 在SQL Server中區分大小寫的幾種方法

資料庫Collate到存儲過程到函數,各種方法都有,選擇適合你的。 第一種: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 INTEGERASBEGINDECLARE @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 INTSET @iLen=LEN(LTRIM(RTRIM(@Str1))) IF LEN(LTRIM(RTRIM(@Str1)))<LEN(LTRIM(RTRIM(@Str2)))--THENSET @iLen=LEN(LTRIM(RTRIM(@Str2)))WHILE (@i<@iLen)BEGINIF (ASCII(SUBSTRING(@Str1,@i+1,1))=ASCII(SUBSTRING(@Str2,@i+1,1)))--THENSET @i=@i+1ELSEBEGINSET @y=0BREAKENDENDRETURN @yEND測試:select* from Table1 Where dbo.StrComp(Field1,'aAbB')=1第三種: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')第五種:如ascii('a')再配合Substring()一起用。

D. sql server 查詢如何區分大小寫

默認情況下,SQL Server不區分大小寫,如果數據表TEST的TNAME列中有數據「abcd」和「Abcd」, 如果使用查詢語句:select * from test where tname like 'a%',則查詢的結果會把上面的兩條記錄都查詢出來,這一點上和Oracle有區別.
可以通過設置排序規使其區分大小寫,可以分別在創建資料庫、修改資料庫、創建表的字元型列(char\varchar\nchar\nvarchar等)時指定排序規則來實現。如:
1、創建資料庫使之區分大小寫
create database test COLLATE Chinese_PRC_CS_AS
2、修改資料庫使之區分大小寫
alter database test COLLATE Chinese_PRC_CS_AS
3、創建表使之區分大小寫
create table test(tid int primary key,tname varchar(20) collate chines_prc_cs_as)

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

F. 如何在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')

G. mssql查詢怎樣去區分[大小寫]及[全形半形]

在sql2000和7.0的查詢語句中--區分大小寫、全半形字元的方法--查詢--1.查大寫字母.區分全形半形select * from 表where fd collate Chinese_PRC_CS_AS_WS like '%A%' --就是在欄位名後加 collate Chinese_PRC_CS_AS_WS --1.查大寫字母.不區分全形半形select * from 表where fd collate Chinese_PRC_CS_AS like '%A%' --就是在欄位名後加 collate Chinese_PRC_CS_AS --2.查全形.區分大小寫select * from 表where fd collate Chinese_PRC_CS_AS_WS like '%A%' --3.查全形.不區分大小寫select * from 表where fd collate Chinese_PRC_CI_AS_WS like '%A%' 排序規則的後半部份即後綴 含義: _BIN 二進制排序 _CI(CS) 是否區分大小寫,CI不區分,CS區分 _AI(AS) 是否區分重音,AI不區分,AS區分 _KI(KS) 是否區分假名類型,KI不區分,KS區分 _WI(WS) 是否區分寬度 WI不區分,WS區分

H. 如何查看sql server是否區分大小寫

看你設置的字元集:collate
有些字元集區分大小寫,有些不區分大小寫
語法:
alter database DBName collate Chinese_PRC_CI_AS

I. SQL SERVER如何判斷某個欄位包含大寫字母

sql語句中默認是不區分大小寫的,所以語句:
Sql代碼
SELECT * FROM RecEngineBizInfo WHERE RecEngineBizName = 'QQ'

Sql代碼
SELECT * FROM RecEngineBizInfo WHERE RecEngineBizName = 'qq'
查到的結果是一樣的。
要查看某個欄位是否包含大寫字母 A 的腳本為:
Sql代碼
select * from RecEngineBizInfo where RecEngineBizName collate Chinese_PRC_CS_AS_WS like '%A%'
www.jb51.net
要查看某個欄位是否包含 大寫字母 的腳本為:
Sql代碼
SELECT * FROM RecEngineBizInfo rebi
WHERE rebi.RecEngineBizName COLLATE Chinese_PRC_CS_AS
like '%[ABCDEFGHIJKLMNOPQRSTUVWXYZ]%'
要查看某個欄位是否包含 連續兩個大寫字母 的腳本為:
Sql代碼
SELECT * FROM RecEngineAttributeInfo reai
WHERE reai.ZhiLing COLLATE Chinese_PRC_CS_AS
like '%[ABCDEFGHIJKLMNOPQRSTUVWXYZ][ABCDEFGHIJKLMNOPQRSTUVWXYZ]%'
依次類推。

J. SQL 如何區分大小寫

昨天去客戶,發現程序無法應用,跟蹤錯誤提示,提示的大致意思是「資料庫表名和資料庫欄位名不存在」。查詢後發現是SQL Server資料庫設置了區分大小寫的緣故(一般安裝時,Oracle的正確安裝下是默認轉換為大寫;SQL Server資料庫是不轉換為大寫,但是使用時並不區分大小寫):
下面語句是設置SQL Server資料庫是否區分大小寫:(表名和資料庫欄位名)
--修改資料庫不區分大小寫
alter database 資料庫名稱 COLLATE Chinese_PRC_CI_AS
如:alter database zjk_cx COLLATE Chinese_PRC_CI_AS
--修改資料庫區分大小寫
alter database 資料庫名稱 COLLATE Chinese_PRC_CS_AS
如:alter database zjk_cx COLLATE Chinese_PRC_CS_AS
下面是資料庫各行記錄內容是否區分大小寫:(一般在查詢時的where條件中使用)
--不區分大小寫
alter database 資料庫名稱 alter column 欄位名稱 欄位類型 COLLATE Chinese_PRC_CI_AS
如:alter database zjk_cx alter column DBConn varchar(500) COLLATE Chinese_PRC_CI_AS
--區分大小寫
alter database 資料庫名稱 alter column 欄位名稱 欄位類型 COLLATE Chinese_PRC_CS_AS
如:alter database zjk_cx alter column DBConn varchar(500) COLLATE Chinese_PRC_CS_AS