1
如何从下列查询得到有效的价值查询处理有效的数值
SELECT Answer FROM table
WHERE values LIKE '%[^0-9]%'
基本上我想要的数据可以处理为
- 28000(有效)
- $ 20000(有效)
- 年金额(无效)
- ? (无效)
- 28.00(有效)
感谢
如何从下列查询得到有效的价值查询处理有效的数值
SELECT Answer FROM table
WHERE values LIKE '%[^0-9]%'
基本上我想要的数据可以处理为
感谢
SELECT Answer
FROM table
WHERE
ISNUMERIC(values)
OR (
SUBSTRING(values, 1, 1) = '$'
AND ISNUMERIC(RIGHT(values, LEN(values) - 1)))
,你可以这样做:
select replace(replace(values, '$', ''), ',', '') as number from table
where dbo.RegexMatch(values, ^\$?(\d+|(\d{1,3}(,\d{3})+))(\.\d+)?$')
调整正则表达式匹配任何你需要的条件...
'values'列的类型是char/varchar是吗?如果是这样,这更像是一个正则表达式问题。 – 2010-01-10 01:22:15
我认为你必须更精确一点,以确定你的意思是有效和无效。您是否正在寻找可以解释为美国格式的无单位十进制值的东西,或者是美元格式的美元金额,而没有额外的文本? – 2010-01-10 01:25:52