1
我有一個名爲'SALARY ON'的字段,其中輸入的數據(年 - 月)格式爲'2012-01'(數據類型varchar)名爲Table1.表中創建sp我需要僅從上述表格領域獲得2012。我怎樣才能做到這一點。 請幫我解決這個問題。Gettiing Year from another表
我有一個名爲'SALARY ON'的字段,其中輸入的數據(年 - 月)格式爲'2012-01'(數據類型varchar)名爲Table1.表中創建sp我需要僅從上述表格領域獲得2012。我怎樣才能做到這一點。 請幫我解決這個問題。Gettiing Year from another表
在最簡單的情況下,「SUBSTRING」和「CAST」會爲你做它:
SELECT CAST(SUBSTRING([SALARY ON], 1, 4) AS INT) FROM SALARY
這取決於在該日期格式YYYY-MM被輸入的事實。如果你在一個約束中檢查這個,那麼上面的示例將會很好。否則,你就需要做一些檢查模式嘗試將它轉換前:
SELECT CASE WHEN [SALARY ON] LIKE '[0-9][0-9][0-9][0-9]-[0-9][0-9]' THEN SUBSTRING([SALARY ON], 1, 4) AS INT) ELSE -1 END
然後,您可以採取一切返回-1年和引發錯誤給用戶,過濾出來,寫他們到一個日誌文件等,這取決於sp被調用的環境。
謝謝Mr.PETER爲您提供幫助。此答案符合我的要求。謝謝。 – Ramdas