我一直在试图理解这个t-sql查询,但是我不确定'where'子句的含义。这是查询:
UPDATE s
SET s.ID1 = p.ID1,
s.FIRST_NAME = p.FIRST_NAME,
s.LAST_NAME = p.LAST_NAME,
s.DEPT_DESCR = p.DEPT_DESCR
FROM dbo.DIRECTORY_VW S
JOIN ps.STAGING_DIRECTORY_VW P ON s.ID = p.ID
WHERE p.ID <> ''
我了解查询会使用STAGING_DIRECTORY_VW中的值更新DIRECTORY_VW视图上的ID1,FIRST_NAME,LAST_NAME和DEPT_DESCR值,其中ID相同,但是<> ''
是什么意思? <>
在T-SQL中不相等,但是我很难找到两个单引号是做什么的。
谢谢!
答案 0 :(得分:2)
''
是一个空字符串。这是一个非NULL的字符串,但其中也没有任何内容。
所以
someVal <> ''
与someVal IS NOT NULL
答案 1 :(得分:0)
两个背对背的撇号(''
)是表示空字符串的常用方式,因此WHERE
子句只是p.ID
不等于空字符串的地方