SQLServer中比较末尾带有空格的字符串
Posted majority
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQLServer中比较末尾带有空格的字符串相关的知识,希望对你有一定的参考价值。
SQLServer中比较字符串的时候 如果字符串末尾是空格 那么SQLServer会无视那些空格直接进行比较。
declare
@a
nvarchar(
50
);set
@a
=N
‘happycat1988‘
declare
@b
nvarchar(
50
);set
@b
=N
‘happycat1988 ‘
①:“=将忽略末尾空格返回true”
if
(
@a
=
@b
)
select
‘True‘
as 直接等号比较
else
select
‘False‘
as 直接等号比较
②:"like 将返回false"
if
(
@a
like
@b
)
select
‘True‘
as like比较
else
select
‘False‘
as like比较
③:“len函数也会忽略末尾空格,但datalength不会”
④:“select 语句中也会忽略空格”
select * from sysc_user where user_code like ‘000065‘ 此语句将查询出user_code 为000065和000065后加入空格的项。
如果是使用user_code与其他表关联的情况。可能导致延迟加载。
原文摘自https://www.2cto.com/database/201509/441544.html
以上是关于SQLServer中比较末尾带有空格的字符串的主要内容,如果未能解决你的问题,请参考以下文章