检查数据是否有逗号,如果是,则显示错误

时间:2017-07-25 05:36:51

标签: sql sql-server tsql reporting-services ssrs-2012

我需要能够通过以下方式过滤我的数据集: 如果promise字段有逗号,则在结果字段中显示该行的错误。

当前代码:

WHERE [Commitments] NOT LIKE '%[^0-9]%' 

这实际上只是通过数值传递数据。一些数据有逗号。对于那些有逗号的字段,我希望能够显示错误。我在想这个过滤器可能在SQL级别。

Example

右边的例子。正如您所看到的,当它过滤时,如果它是所有数字,我希望它按原样显示它。但是,如果它包含任何逗号,我希望它显示和错误。

1 个答案:

答案 0 :(得分:3)

以下答案假定如果您在promise列中看到一个或多个逗号,则需要打印错误。如果可能存在逗号,则表示列类型必须是文本。我们可以尝试使用以下CASE表达式:

SELECT
    col1,
    -- other columns
    CASE WHEN CHARINDEX(',', Commitments) > 0
         THEN 'Error'
         ELSE Commitments END AS status
FROM yourTable

再次假设Commitments是文本。如果它已经是数字,那么就不能有任何逗号开始了。