以下內容類似於我需要將字段轉換爲類型並對其進行求值的查詢,並且我希望忽略具有無法轉換爲目標數據類型的數據的行。有沒有更好的方法來編寫這個查詢來短路第二個條件?
select * from MyTable
where case when isnumeric(SomeField) = 1 then SomeField else null end > 1
所以在上面的例子中,我能夠測試值大於一,同時避免,如果有在SomeField任何非數字字段將導致轉換錯誤。我對這個解決方案沒問題,但我只是想知道是否有更好的方法來做到這一點?
您是否有權控制輸入到此數據庫的數據?只是好奇爲什麼你必須擔心數據類型的開始。 –
這是一個將數據從csv文件導入sql表的應用程序。因此,我會根據目標字段的數據類型以及hilite datagridview中的記錄來檢查源字段中是否存在任何無效數據(將被截斷,數字字段中的字符數據等)用戶可以在導入之前進行調整。 –
但是,如果我是根據我提供的信息閱讀你的回覆,我也會贊成它:)好吧,無論如何,我會放棄它,因爲它是常識,但不幸的是不能在這種情況下應用它。 –