當前位置:首頁 » 編程語言 » sql怎麼區分字元
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql怎麼區分字元

發布時間: 2022-10-17 03:42:20

sql Sever字元串查找中,如何區分大小寫

SQL區分大小寫是在你安裝數據的時候進行選擇的,區分大小寫 排序規則這些選項。

Ⅱ sql語句怎麼判斷一個字元是全形還是半形

selectunicode('s')
/*返回值為65281~65374,則是全形,33~126為半形*/
/*下面為全形與半形的轉換函數*/

ifobject_id(N'u_convert',N'FN')isnotnull
dropfunctionu_convert
GO
/*
轉換原理
全形字元unicode編碼從65281~65374
半形字元unicode編碼從33~126
空格比較特殊,全形為12288,半形為32
而且除空格外,全形/半形按unicode編碼排序在順序上是對應的
所以可以直接通過用+-法來處理非空格數據,對空格單獨處理
like的時候,指定排序規則COLLATELatin1_General_BIN
是保證字元順序按unicode編碼排序

*/
createfunctionu_convert(
@strnvarchar(4000),--要轉換的字元串
@flagbit--轉換標志,0轉換成半形,1轉換成全形
)
returnsnvarchar(4000)
AS
begin
declare
@patnvarchar(8),
@stepint,
@iint,
@spcint
if@flag=0
begin
select@pat=N'%[!-~]%',@step=-65248,
@str=replace(@str,N'',N'')
end
else
begin
select@pat=N'%[!-~]%',@step=65248,
@str=replace(@str,N'',N'')
end
set@i=patindex(@patcollateLATIN1_GENERAL_BIN,@str)
while@i>0
select@str=replace(@str,
substring(
@str,@i,1),
nchar(unicode(substring(@str,@i,1))+@step)),
@i=patindex(@patcollateLATIN1_GENERAL_BIN,@str)
return(@str)
end
GO

測試語句:
selectdbo.u_convert('11',1)as[a],'11'as[b],dbo.u_convert('111',0)as[c]

Ⅲ sql 如何區分字元常量和日期常量

1.用單引號括起來的都是字元型.
2.日期型可以理解為特殊的字元型,特殊的地方就是它可以被資料庫引擎隱式的轉換成可識別的日期型.也就是說,只有符合一定格式的字元串才可以被轉換為日期型.至於到底哪些格式可被資料庫引擎轉換成日期型,在聯機幫助里有詳細的說明.

Ⅳ sql server 2008 字元串如何比較

法Ⅰ:轉換成二進制再比較,由於大小寫的ASC碼不同。例如:
[sql]
select * www.2cto.com
from T_User
where cast(field as varbinary) = cast( 'Admin' as varbinary)
法Ⅱ:利用排序規則,也是基於二進制。在欄位後加上collate Chinese_PRC_CS_AS_WS
如:
[html]
select *
from T_User
where userName='admin' AND PASSWORD collate Chinese_PRC_CS_AS_WS ='Admin'
是否區分大小寫與排序規則有關,排序規則中各部分含義如下所示:

舉例分析 Chinese_PRC_CS_AI_WS
前半部份:指UNICODE字元集,Chinese_PRC_指針對大陸簡體字UNICODE的排序規則。
排序規則的後半部份即後綴 含義:
_BIN 二進制排序 www.2cto.com
_CI(CS) 是否區分大小寫,CI不區分,CS區分
_AI(AS) 是否區分重音,AI不區分,AS區分
_KI(KS) 是否區分假名類型,KI不區分,KS區分
_WI(WS) 是否區分寬度 WI不區分,WS區分

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

Ⅳ 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)

Ⅵ sql中如何判斷字元串中含有特殊字元

1、打開終端窗口,輸入mysql -u-root -p,進入mysql。

Ⅶ 如何用SQL語句判斷字元串

select *
from table1
where char1 like '%mystring%'
『%』表示長度大於等於0的任意字元串,而『?』可以表示一個字元。

Ⅷ 怎麼用SQL判斷欄位值是否為字元或者數字

在不改變你SQL的基礎上再加一個 LEFT(col1,1)<>'-'
select * from tb
where
ISNUMERIC(col1)>0 and LEFT(col1,1)<>'-'
---
ISNUMERIC(col1)>0這個本身就將資料過濾為只有數字(正數或負數,沒有你說的其他符號了),在其基礎上再將負數的情況過濾掉就OK了

Ⅸ 在SQLserver中,怎麼區別char跟varchar我是個小白。

char和varchar是一樣的字元型,
不同在於,varchar比char更靈活,精確,且不佔內存空間,
當你取同樣的字元時,char會在該字元後面加上空格,
而varchar則只取得這個字元,比如有欄位5,用varchar從該欄位
中取aa時,你取得的是"aa",如果用char,則取得的是"aa",
char會在後面用空格補齊5個欄位。
所以,varchar比char更精確,但,varchar的速度卻比char慢。
因為char是直接取得全部,而varchar是精確的去取得你要的字元。

Ⅹ sql server:如何區分中文和英文字元,如附圖

SELECT*FROM[表名]WHERELEN(欄位名)<>DATALENGTH(欄位名)