查询字段中全角字符问题 查询表 CARD 中的 A 字段中的 全角符号 代码如下: SELECT * FROM CARD WHERE DATALENGTH(LTRIM(RTRIM(convert(varchar(100),A))))>LEN(LTRIM(RTRIM(CONVERT(varchar(100),A))))
但是本身 A 字段就是 varchar 类型的。
所以
SELECT * FROM CARD WHERE DATALENGTH(LTRIM(RTRIM(‘A’)))>LEN(LTRIM(RTRIM(‘A’)))
但是查询不出来结果。 表中有符合条件的
坐等大虾
------解决方案--------------------
------解决方案--------------------
SQL code
create table card(A varchar(20))
insert into card select 'sdkfuAsdf'
insert into card select 'gvidnuf'
insert into card select 'fi ,dfklj'
go
SELECT a.*
FROM CARD a,master..spt_values b
where b.type='p' and b.number between 1 and LEN(a.A)
and UNICODE(SUBSTRING(a.a,b.number,1))>255
/*
A
--------------------
sdkfuAsdf
fi ,dfklj
(2 行受影响)
*/
go
drop table card
------解决方案--------------------