我運行了此查詢。大多數情況下,它可以正常工作,但有幾條記錄中包含非數字部分,這會導致問題得不到解決。我需要能夠選擇只是整數的記錄。獲取僅爲數字的記錄
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和勞動。我如何修改where子句以實現這一效率?
這是要走的路。追加'.0e0'會導致十進制數字無法通過ISNUMERIC檢查,因爲有一個額外的小數點,並且會導致科學記數法(如浮點數)中的數字由於指數加倍而失敗。因此,這優雅地排除了非整數情況,並確保您的子字符串將是一個數字整數。 – 2011-12-20 21:13:26
+1 - 繞過'ISNUMERIC()' – JNK 2011-12-20 21:30:38
+1中意想不到的積極方式的有效方法,但是不會僅僅'.0'就足夠了嗎? – 2011-12-20 23:21:37