sql - 检查列 IS NULL 在案例表达式中不起作用
问题描述
我正在尝试检查属于 View "IS NULL" 的列,它适用于 select 语句:
SELECT TOP (1000) [Invoice_Number]
,[Invoice_Date]
,[Invoice_Amount]
,[Invoice_CoCd]
,[Invoice_vendor]
,[Invoice_PBK]
,[Invoice_DType]
,[Invoice_DueDate]
,[Invoice_ClgDate] FROM [dbo].[viewABC] where Invoice_PBK IS NULL
现在我有一个更新语句,我需要根据 VIEW 中的 NULL 更新表中的列:
UPDATE cis
SET
cis.InvoiceStatus =
(
CASE
WHEN RTRIM(LTRIM(imd.[Invoice_PBK])) IS NULL THEN
'HELLO'
WHEN RTRIM(LTRIM(imd.Invoice_DType)) = 'RD'
THEN '233' END)
FROM
[dbo.[tblABC] cis,
[dbo].[viewABC] imd
WHERE [condition logic]
这些与 where 条件无关,IS NULL
在CASE
表达式中导致问题。
有人可以帮忙吗?
解决方案
您可能只想逐个测试您的逻辑。尝试
SELECT ISNULL(RTRIM(LTRIM(imd.[Invoice_PBK])),'Hey Im Null')
FROM
[dbo].[tblABC] cis,
[dbo].[viewABC] imd
WHERE [condition logic]
查看您是否从查询返回的列上获得了该字符串值。然后,从那里构建。它可能像JOIN一样简单。我不喜欢那种旧语法,但是除了[conditions]
. 很难为你猜出答案。你没有详细的证据可以帮助我们。这很可能是您的条件,但是您说的是“条件逻辑”,这对该线程上的组没有任何作用。
推荐阅读
- c++ - Visual Studios,在 C 代码中使用预编译头文件
- excel - Excel 宏在修改后不更新
- python - 不能在 Python 3 的列表理解中使用 locals()?
- vue.js - 在 Vuejs 中使用作用域样式时,是否可以提供签名字符串?
- c++ - 如何让 vim youcompleteme 插件正确列出函数名称?
- reactjs - 如何从 React 中的 Button Group 元素中获取按钮的值
- amazon-web-services - AWS S3 静态站点托管 ACL 和权限
- vba - 如何使用户窗体和活动文档并排站立
- python - Python Flask 的简码
- arduino - NodeMcu 串行通信 Tx 和 Rx