当前位置:   article > 正文

SQL Server 条件语句全值匹配空格处理_sql server 在匹配的时候忽略空格

sql server 在匹配的时候忽略空格

问题描述:
请看下面两条查询语句:
1.select * from userinfo where username=‘admin’
2.select * from userinfo where username='admin '

第二条的where语句admin后面有一个空格,但执行两条语句等到的查询结果是一样的。当用户登录时在帐号后面输入空格也能登录成功,这不是我想要的结果。

解决办法:
在增加一个条件语句,通过判断长度,来验证输入的是否正确,首先使用了len函数。如下:
select * from userinfo where username='admin ’ and len(username)=len('admin '),本以为可以得到我想要的结果了,但并没有如我所愿,len函数也自动忽略了后面的空格。继续查找资料得到datalength函数。把len替换成datalength.得到如下语句select * from userinfo where username='admin ’ and datalength(username)=datalength('admin ')。执行后终于得到了我想要的结果。

谨以此记录我踩过的坑,欢迎批评指正。

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/256596?site
推荐阅读
相关标签
  

闽ICP备14008679号