我正在使用SQL查詢,因此我需要根據ISNUMERIC返回值進行篩選。 ISNUMERIC非常重要,因爲在我的連接中,我隱式地將該值轉換爲「int」,所以VARCHAR是一個「否」。T-SQL:在加入之前評估ISNUMERIC
我看過查詢應該處理的順序,然後處理FROM,然後在WHERE之前的ON。有沒有一種方法可以建議ISNUMERIC首先進行評估而無需使用子查詢?我不反對子查詢,我只是想知道。
SELECT l.* FROM [dbo].[CRM_SD_Working_1] l
LEFT JOIN [dbo].[CRM_SD_Working_1] r ON l.[PlzVon] = r.[PlzBis] + 1
WHERE
ISNUMERIC(l.[PlzVon]) = 1
AND ISNUMERIC(l.[PlzBis]) = 1
AND l.PlzVon <> l.PlzBis
AND r.ID IS NULL
該不應該是'ISNUMERIC(r。[PlzBiz] = 1'?隨着r。而不是l。? – RBarryYoung
在=符號的任一側的JOIN中加入CASE語句以測試IsNumberic()。 –
在「PlzVon」或「PlzBis」列中,您是否有類似於''5.1','1.4e1','4d9'的數據? –