SQL Server 查询&处理含有回车符&换行符的内容
--bwk_sjc_goal中的wareid是从Excel中直接复制过来的(单个复制&没有双击进去复制) --导致含有回车&换行符。查询的时候如果直接写等于(='0000024'),则查询结果为空 select * from bwk_sjc_goal declare @wareid varchar(10)='0000024'+char(13)+char(10) select g.wareid,u.userid,'',g.goal,'' from bwk_sjc_goal g cross join c_user u where u.status = '01' and u.orgcode_power <> '0000' and g.wareid = @wareid --and g.wareid = '0000024' --结果为空 order by g.wareid,u.userid
删除回车&换行符
UPDATE bwk_sjc_goal SET wareid = REPLACE(wareid, CHAR(13) + CHAR(10), '') WHERE wareid LIKE '%' + CHAR(13) + CHAR(10) + '%';
字符前面的“空格”
有时候查询结果中,最前面看起来好像有一个空格,但是使用 ltrim 函数处理后,结果还是没有变化,然后使用 ascii 函数查询,结果为10.
select top 1 ASCII(left(LTRIM(associated_wareid),1)) from temp_124 where associated_wareid like '%1005101%' -- 1005101 --结果:10
处理方式:
select top 1 replace(associated_wareid,char(10),'') from temp_124 where associated_wareid like '%1005101%'
为了保险起见,把char(13)也处理一下:
REPLACE(REPLACE(wareid,char(10),''),char(13),'') as wareid

浙公网安备 33010602011771号