【发布时间】:2013-05-17 12:24:05
【问题描述】:
我正在审查由不同编码人员编写的脚本,并看到许多声明,例如:
((patindex('%,'+rtrim(ad.Dept)+',%', @vcP1Input) != 0) .
我想知道'!'是什么正在用于。
【问题讨论】:
-
!本身在这种情况下是没有声明的。它是!=并比较左右是否为not equel,如上所述..
我正在审查由不同编码人员编写的脚本,并看到许多声明,例如:
((patindex('%,'+rtrim(ad.Dept)+',%', @vcP1Input) != 0) .
我想知道'!'是什么正在用于。
【问题讨论】:
! 本身在这种情况下是没有声明的。它是!= 并比较左右是否为not equel,如上所述..
! 在这种情况下表示不是。
所以!= 表示不等于。
【讨论】:
这意味着不平等。 左侧 (patindex('%,'+rtrim(ad.Dept)+',%', @vcP1Input) 不等于右侧 (0)
【讨论】:
!=是==的否定
例如
if(obj == null)
{
// do stuff1
}
else
{
// do stuff2
}
是一样的
if(obj != null)
{
// do stuff2
}
else
{
// do stuff1
}
【讨论】:
在 TSQL 中,!= 表示 not equal to。
你的表情
((PATINDEX('%,' + RTRIM(ad.Dept)+',%', @vcP1Input) != 0)
如果它可以在字符串@vcP1Input 中找到ad.Dept 的修剪值,即如果PATINDEX 返回的不是0,则为真。
【讨论】: