2
我有一個數據庫,出於某種原因,日期放在1yymmdd中。我被要求在查詢中創建一個字段,這個字段在這個日期中增加了30天。我已經改變了日期爲可讀的格式如下:添加拼湊日期的日子
SUBSTRING(Datefield, 4, 2) + '/' + SUBSTRING(Datefield, 6, 2)
+ '/' + SUBSTRING(Datefield, 2, 2) AS LookLikeDate
我把這個在視圖中,並試圖再:
DATEADD(dd,30, CONVERT(datetime, v.[LookLikeDate], 103)
我不斷收到寫着
錯誤將varchar數據類型轉換爲日期時間數據類型導致超出範圍的值。
我然後試圖在我看來語句來定義,使該領域會從一開始就日期時間:
CONVERT(datetime, SUBSTRING(Datefield, 4, 2) + '/'
+ SUBSTRING(Datefield, 6, 2) + '/'
+ SUBSTRING(Datefield, 2, 2), 103) AS LookLikeDate
當我在這個定義的錯誤,到了那裏我不能使用查看所有,我改變了日期時間爲Char(8),這給了我以前得到的同樣的varchar錯誤。
我該怎麼解決這個問題,有沒有辦法將這些日子添加到這種簡單的日期格式?
@ user2736625有沒有幫助? – peterm
對不起,我還沒有時間跳到現在,然後嘗試。我剛剛嘗試過,並收到'241號信息,第16級,狀態1,第2行 轉換日期和/或時間從字符串轉換失敗.'錯誤。我是否需要更改數據存儲的格式?目前它存儲爲Char(7)。 – user2736625
有多奇怪...... 當我運行我的查詢爲'DATEADD(dd,30,RIGHT(datefield,6))'時,它會出錯。但是,當我使用RIGHT(datefield,6)NewDate創建視圖,然後在視圖上運行'DATEADD(dd,30,v.NewDate)'查詢時,它正在工作。 – user2736625