我需要能够通过以下方式过滤我的数据集: 如果promise字段有逗号,则在结果字段中显示该行的错误。
当前代码:
WHERE [Commitments] NOT LIKE '%[^0-9]%'
这实际上只是通过数值传递数据。一些数据有逗号。对于那些有逗号的字段,我希望能够显示错误。我在想这个过滤器可能在SQL级别。
右边的例子。正如您所看到的,当它过滤时,如果它是所有数字,我希望它按原样显示它。但是,如果它包含任何逗号,我希望它显示和错误。
答案 0 :(得分:3)
以下答案假定如果您在promise列中看到一个或多个逗号,则需要打印错误。如果可能存在逗号,则表示列类型必须是文本。我们可以尝试使用以下CASE
表达式:
SELECT
col1,
-- other columns
CASE WHEN CHARINDEX(',', Commitments) > 0
THEN 'Error'
ELSE Commitments END AS status
FROM yourTable
再次假设Commitments
是文本。如果它已经是数字,那么就不能有任何逗号开始了。