要求:過濾資料庫中某個字串 字段 中的單個字母或是數字
開始的時候使用 sql 函式 len
select * from table1 wherelen(name)>1
結果其中的單個漢字也過濾掉了。這個函式返回的是字串的長度。
於是使用另乙個長度函式 datalength
select * from table1 wheredatalength(name)>1
結果中過濾了單個字母和數字,而漢字單個返回的長度為2,所以沒有過濾掉。
要求:獲得混合字串中的中文
如果漢字在右邊
declare @s varchar(20)
set @s='4b工程師'
--如果你的漢字都在右邊
selectright(@s,(datalength(@s)-len(@s)))
/*工程師
*/提取中文的函式
--提取中文
if object_id('dbo.china_str') isnot null
drop function dbo.china_str
gocreate function dbo.china_str(@snvarchar(100))
returns varchar(100)
asbegin
while patindex('%[^吖-座]%',@s) > 0
set @s = stuff(@s,patindex('%[^吖-座]%',@s),1,n'')
return @s
endgo
print dbo.china_str('呵呵abc123abc')
SQL server 2000常用字串長度總結
char 固定長度的非 unicode 字元資料,最大長度為 8,000 個字元。varchar 可變長度的非 unicode 資料,最長為 8,000 個字元。text 可變長度的非 unicode 資料,最大長度為 2 31 1 2,147,483,647 個字元。unicode 字串 ncha...
JS PHP MySQL 字元長度
摘要 js的string.length 屬性取的是字串的實際長度 php的str len 函式取的是字串的位元組長度,中文utf 8佔3個位元組,gb2312佔2個位元組 mysql中的varchar型別長度,指字元長度 乙個漢字在utf 8編碼中占用幾個位元組?占用3個位元組的範圍 u 2e80 ...
Mysql group concat字元長度限制
語句如下 select a id as id a category name as category name concat group concat separator as drug data from drug category a left join drug b on a id b cat...