我有一段来自存储过程的 t-sql 代码,它根据给定的参数执行搜索。我似乎无法理解以下语句背后的逻辑:
if isnull(@LoginName, '') = ''
select @LoginName = null
这是我的想法:isnull 正在检查 LoginName 是否为 null,如果是,则分配 ' '(这也是 null,对吗?),然后将其与 ' '(null?)进行比较。然后,如果表达式为真 - 将 null 分配给变量 LoginName(为什么?它一开始就已经为 null!)。有人可以给我黑暗的脑袋带来一些启发吗?我只是不明白其中的逻辑。谢谢你。