[SQL ] 字串日期換算、運算
資料庫名稱:MSSQL
資料庫版本:2008
內容/問題描述:
各位午安,小弟想請問如何在字串的欄位上進行日期換算及運算
這是要換算的資料表
ncanni old huncal hunncb yeacal yeanbc
------------------------------------------------------------------------
99-12-31 99-11-26 100-03-28 100-02-25 100-12-31 100-11-26
99-03-15 99-02-03 99-06-13 99-05-02 100-03-15 100-02-03
ncanni+100day old+100day ncanni+1year old+1year
上面六個欄位值都是字串
ncanni是國曆的日期(varchar)
old 是農歷日期(varchar)
剩下的四個欄位是要放入ncanni跟old的運算結果
huncal,nunncb這二個欄位是要放入國曆與農曆加100天後的結果
yeacal,yeanbc這二個欄位是要放入國曆與農曆加1年後的結果
但是不知如何進行字串的運算
是否要先將字串轉回日期後進行運算再轉回字串呢?
小弟有先試過了一些方法,不過結果都不如預期的結果
有時會跳出像
將 varchar 值 '2010-12-31 00:00:00.000' 轉換成資料類型 int 時,轉換失敗。
這種的錯誤訊息
還請大大指點迷經
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.227.206.31
推
03/15 15:06, , 1F
03/15 15:06, 1F
→
03/15 15:06, , 2F
03/15 15:06, 2F
→
03/15 15:07, , 3F
03/15 15:07, 3F
不能轉回去啦,99-10-23會被自動換成1999-10-23系統會自動換成西元年><
→
03/15 18:19, , 4F
03/15 18:19, 4F
可以的話我真的很想直接用日期 ORZ
推
03/15 20:13, , 5F
03/15 20:13, 5F
→
03/15 20:13, , 6F
03/15 20:13, 6F
→
03/15 20:15, , 7F
03/15 20:15, 7F
→
03/15 20:15, , 8F
03/15 20:15, 8F
主要是資料存入後基本上就不會在改了,主要是卡在運算上(?o?)
推
03/15 21:45, , 9F
03/15 21:45, 9F
推
03/15 21:48, , 10F
03/15 21:48, 10F
推
03/16 00:48, , 11F
03/16 00:48, 11F
有試過用convert(datetime,date(),50),但是會跳出日期轉換的錯誤( ̄□ ̄|||)a
推
03/18 20:53, , 12F
03/18 20:53, 12F
用了別人分享的格式來轉,全都不行,都是跳出轉換異常的警告
推
03/20 00:16, , 13F
03/20 00:16, 13F
right left這我沒使用過
民國要先+1911!!我去試看看,感謝
※ 編輯: MagicPaul 來自: 125.227.206.31 (03/20 12:39)
→
03/21 19:06, , 14F
03/21 19:06, 14F
→
03/21 19:06, , 15F
03/21 19:06, 15F