我正在运行此查询。在大多数情况下它工作正常,但有一些记录具有非数字部分,这会导致问题。我需要能够只选择整数记录。
select distinct SUBSTRING(PAPROJNUMBER, 1, 5) AS STUDY_NUMBER
FROM dbo.PA01201 AS PA01201_1
where PAPROJNUMBER>'0'
例如,结果列表的一部分如下所示:
68145
68146
68147
7762A
99999
LABOR
除了 7762A 和 LABOR,我想要所有这些。我怎样才能修改 where 子句以有效地实现这一点?
最佳答案
将“.0e0”添加到子字符串将确保 ISNUMERIC 仅返回有效整数。
select distinct SUBSTRING(PAPROJNUMBER, 1, 5) AS STUDY_NUMBER
FROM dbo.PA01201 AS PA01201_1
where PAPROJNUMBER>'0'
AND ISNUMERIC(SUBSTRING(PAPROJNUMBER, 1, 5) + '.0e0') = 1
关于sql-server - 获取只有数字的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8581853/