检查数据是否有逗号,如果有显示错误
Check if data has a comma, if so display error
我需要能够通过以下语句过滤我的数据集:
如果承诺字段有逗号,则在结果字段中显示该行的错误。
当前代码:
WHERE [Commitments] NOT LIKE '%[^0-9]%'
这实际上只是传递具有数值的数据。一些数据有逗号。对于那些有逗号的字段,我希望能够让它显示错误。我正在考虑将此过滤器设置为 SQL 级别。
右边的例子。可以看到,它过滤的时候,如果都是数字,我想让它原样显示。但是,如果它包含任何逗号,我希望它显示并出错。
以下答案假定如果您在承诺列中看到一个或多个逗号,则您想要打印错误。如果那里可以出现逗号,则意味着列类型必须是文本。我们可以尝试使用以下 CASE
表达式:
SELECT
col1,
-- other columns
CASE WHEN CHARINDEX(',', Commitments) > 0
THEN 'Error'
ELSE Commitments END AS status
FROM yourTable
同样假设 Commitments
是文本。如果它已经是数字,则不能有任何逗号开头。
我需要能够通过以下语句过滤我的数据集: 如果承诺字段有逗号,则在结果字段中显示该行的错误。
当前代码:
WHERE [Commitments] NOT LIKE '%[^0-9]%'
这实际上只是传递具有数值的数据。一些数据有逗号。对于那些有逗号的字段,我希望能够让它显示错误。我正在考虑将此过滤器设置为 SQL 级别。
右边的例子。可以看到,它过滤的时候,如果都是数字,我想让它原样显示。但是,如果它包含任何逗号,我希望它显示并出错。
以下答案假定如果您在承诺列中看到一个或多个逗号,则您想要打印错误。如果那里可以出现逗号,则意味着列类型必须是文本。我们可以尝试使用以下 CASE
表达式:
SELECT
col1,
-- other columns
CASE WHEN CHARINDEX(',', Commitments) > 0
THEN 'Error'
ELSE Commitments END AS status
FROM yourTable
同样假设 Commitments
是文本。如果它已经是数字,则不能有任何逗号开头。