我在SQL中使用CASE
語句來檢查成績列的值。例如,如果用戶輸入7,例如我在前面加上前導0,則值將被保存爲07
。一切工作正常,直到我們在應用程序中添加K等級作爲選項。現在如果用戶輸入K值將被保存爲0K
。下面是我的SQL Case語句的示例:防止在字母等級前面過零?
CASE
WHEN LEN(LTRIM(RTRIM(GRADE))) = 0 THEN NULL
ELSE RIGHT('00'+ISNULL(LTRIM(RTRIM(GRADE)),''),2)
END
上面的代碼用於INSERT SELECT語句中。我想知道當用戶輸入K等級時是否可以防止前導零?這是否可以修改現有的CASE語句?我曾嘗試加入:
WHEN GRADE = 'K' THEN 'K'
但是,這並沒有解決問題,我的INSERT語句失敗。如果有人能幫助或者知道更好的解決方案,請告訴我。謝謝!
什麼是失敗插入的錯誤信息? – avb
@HABO現有之後。 –