【发布时间】:2020-11-07 00:30:49
【问题描述】:
我正在尝试创建一个计算来处理棘手的数据问题。
在填充出生日期字段时,我需要衡量何时为帐户运行交易。
有时在数据中,一个帐户可以有 2 个人,如果仅为其中一个人填充了出生日期,并且时间戳相同,那么这将被视为填充了出生日期的交易.在这种情况下,我不想计算出生日期为空白值的第二行。
我一直在尝试在 case 语句中使用 Y/N 标志或 0/1 计数,但我还没有弄清楚如何处理第二个空白行。
这是我一直在使用的基本CASE 语句:
SELECT DISTINCT
[Account_Nbr],
[Timestmp],
CASE
WHEN [DOB] <> ' ' THEN 'Y'
ELSE 'N'
END AS 'DOB ORDERED'
FROM
TABLE
GROUP BY
[Account_Nbr], [Timestmp], [DOB]
示例数据如下 - 我想将此标记为已处理并填充 DOB 的事务,但我不希望将空白 DOB 计数或标记为 N
关于如何处理这个问题的任何想法?谢谢
【问题讨论】:
-
这里的大多数人希望样本表数据和预期结果为格式化文本,而不是图像。
-
顺便说一句,这是一个 case expression(它返回一个值。) case statement 可以在存储过程中用于条件执行代码.)
-
你能添加你想要的输出吗?
-
DOB的数据类型是什么?日期与字符串的比较没有意义。
标签: sql sql-server case