Sql server中在if()中如何判断两个char字符串是否完全相同?
晚上写存储过程,有一个地方比较两个字符串:if(@UID<>@UserID)这的地方,死活过不了,一直返false,无论uid和userid是否相同。求高手指正,这个地方...
晚上写存储过程,有一个地方比较两个字符串:if(@UID<>@UserID)这的地方,死活过不了,一直返false,无论uid和userid是否相同。求高手指正,这个地方为什么会一直返回 false,应该怎么写
展开
4个回答
展开全部
看下你这俩变量的长度
char类型是固定长度,比如长度是10,你输入了个abc,那么后边会自动给你补上7个空格的,要是你这俩变量设置的长度不一样,即使字符一样肯定还是不行
要是这样的话加个trim
if(trim(@UID)<>trim(@UserID))
char类型是固定长度,比如长度是10,你输入了个abc,那么后边会自动给你补上7个空格的,要是你这俩变量设置的长度不一样,即使字符一样肯定还是不行
要是这样的话加个trim
if(trim(@UID)<>trim(@UserID))
更多追问追答
追问
长度不一样的话即使判断不相同也返回false?
追答
比如是char(10) 你输入个abc,那么返回的是abc+7个空格
char(11) 你输入个abc,那么返回的是abc+8个空格
肯定不一样啊
不过你代码没贴出来,不太好确定具体是什么原因,估计应该是这个
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在MySql中是用<=>,类似于编程中的equals。SQL server中你试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
比较前把这两个变更打印出来看一下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询