SQL数据库查询使⽤正则表达式查询中⽂-- unicode(expression)函数返回串类型的unicode码
--中⽂对应的unicode码⼤致为(应该是精确的):19968-40869
declare @tb table
(
[a] varchar(50)
)
insert @tb
select '客' union all
select '客' union all
select '中' union all
select 'a' union all
select '/' union all
select '.' union all
select '*' union all
select '@' union all
select '了' union all
select '鹰'
select [a] from @tb where unicode([a]) between 19968 and 40869
go
--结果
补充回答:
如果在t-sql中想查看unicode码对应的可以⽤nchar(expression)函数
如:select nchar(19968)
结果:⼀
====================================================================
你的中⽂是指
字段中包含有中⽂
还是
字段全是有中⽂组成的
补充回答:
--> :@tb
declare @tb table([name] varchar(10))
insert @tb
select '啊' union all
select '阿' union all
sql自学难吗
select '做' union all
select '111坐' union all
select '做qqq' union all
select '坐' union all
select '左' union all
select 'aaa' union all
select '。' union all
select '★' union all
select '123' union all
select '座'
--到包含有汉字的列
select * from @tb where patindex('%[阿-做]%',name)>0
/*
name
----------
111坐
做qqq
(6 ⾏受影响)
*/
--如果到只有中⽂的列⽐较难,除⾮指定了长度,⽐如说⼀位就去点 %%
select * from @tb where patindex('[阿-做]',name)>0
unicode([a]) between 19968 and 40869 也可以实现相同的功能,但是效率不⾼

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。