1
我在Microsoft SQL Server中設置了一個視圖。我展示的部分視圖創建了一個名爲Starch的列。我如何操縱case表達式中創建的列來判斷它是高於還是低於2?已創建列的表達式
.
..
...
MAX(CASE WHEN R.ANALYTE = 'Starch' then
(CASE WHEN ISNUMERIC(R.RN5) = 1 THEN CONVERT(float,R.RN5) ELSE convert(float,0) END) end) as [Starch],
CASE
WHEN Starch > 2 THEN 'ABOVE'
ELSE 'Below' END
As 'Starch_Cautionary',
...
..
.
小心使用'ISNUMERIC()'進行轉換驗證。什麼版本的SQL Server?此外,樣本數據和預期產出將有助於此。 – scsimon
你想在同一個查詢中使用創建的列Starch?或者是什麼? –
這與問題無關,但除了@scsimon評論SQL Server 2012及更高版本,您可以檢查[TRY_CONVERT](https://docs.microsoft.com/en-us/sql/t-sql/functions/try-convert -transact-sql)函數來取代整個IF THEN ELSE部分 –