每当我编写一个存储过程来根据字符串变量(varchar,nvarchar,char)选择数据时,我会有类似的东西:
procedure dbo.p_get_user_by_username( @username nvarchar(256) as begin select u.username,u.email --,etc from sampleUserTable u where u.username = @username end
所以换句话说就是匹配我所拥有的记录
u.username = @username
但有时我会遇到使用LIKE代替=的代码
u.username like(@username)
你什么时候用它?
不应该仅在需要一些通配符匹配时才使用它吗?
编辑
谢谢你的回答.
我认为我需要澄清一下,我真正想要问的是:如果可能存在这样的情况,那么首选使用“=”代替精确的字符串匹配.从答案我可以说不会有.
根据我自己的经验,即使在我需要忽略例如大小写,以及前导和结束空格的情况下,我会在两个字符串上使用ltrim,rtrim,lower然后“=”.再次感谢您的输入.