我有一個存儲過程,它使用一系列臨時表來提取數據,格式並插入到一個新表中。我知道這是沒有道理的,但我試圖將空格式設置爲''(空白)或' - '破折號。這是BC。零值實際上代表了真實的平衡。當我這樣做時,我不斷收到一個錯誤,將varchar轉換爲數字。錯誤將Varchar轉換爲數值內的情況
CASE
WHEN ##TEMPTABLE.[Summary Category Definition] = 'In Storage' THEN ''
WHEN ##TEMPTABLE.[L/C Amount] > 0 THEN ##TEMPTABLE.[L/C Amount]
ELSE ''
END AS [L/C Amount]
我曾嘗試:
CASE
WHEN ##TEMPTABLE.[Summary Category Definition] = 'In Storage' THEN ''
WHEN ##TEMPTABLE.[L/C Amount] > 0 THEN convert(varchar(20), ##TEMPTABLE.[L/C Amount] )
ELSE ''
END AS [L/C Amount]
是這甚至可能嗎? 謝謝你的幫助。
後整個SQL語句,不僅案件 – WKordos
你可以用'則IsNumeric()'試圖確定字符串是否包含轉換之前有效的數字。請注意,它有點樂觀。 (奇怪的是,標題中的轉換似乎與所顯示的SQL中的轉換相反。) – HABO
什麼數據類型是您的列'[L/C Amount]'? – Lamak