我有第1列是varchar和第2列是浮動。 我想複製第1列到第2列的內容,看起來像第1列有一個數字的所有實例。如何將varchar轉換爲SQL服務器中的浮點數?
這裏是我的代碼:
UPDATE [TestDB].[dbo].data
SET [COLUMN 2]=CAST([Column 1] AS FLOAT)
WHERE ISNUMERIC ([COLUMN 1]) = 1
我使用SQL Server 2008 R2。這個代碼應該工作嗎?
我有第1列是varchar和第2列是浮動。 我想複製第1列到第2列的內容,看起來像第1列有一個數字的所有實例。如何將varchar轉換爲SQL服務器中的浮點數?
這裏是我的代碼:
UPDATE [TestDB].[dbo].data
SET [COLUMN 2]=CAST([Column 1] AS FLOAT)
WHERE ISNUMERIC ([COLUMN 1]) = 1
我使用SQL Server 2008 R2。這個代碼應該工作嗎?
UPDATE [TestDB].[dbo].data
SET [COLUMN 2]=Case When IsNumeric([Column 1]) = 1 Then CAST([Column 1] AS FLOAT) End
G馬斯特羅斯,謝謝我剛剛添加了ISNUMERIC系列,你擊敗了我。 – phan
嘗試這樣做它像這樣
case when isnumeric([Column 1])=1
then cast([Column 1] AS FLOAT)
else 0
end
ISNUMERIC(表達)確定一個表達式是否爲有效 數值類型。
看到這裏ISNUMERIC
的價值是什麼是失敗? –
TomTom,我不同意。我正在尋找可能的情況......我添加了ISNUMERIC .. – phan
@phan它不一定有效。試試這個:'SELECT ISNUMERIC(' - ')',現在嘗試'SELECT CAST(' - 'AS FLOAT)' – Lamak