我在我的智慧結束...希望大家都可以提供幫助。我有一個日期列entryexpire
在SQL表,例如:將日期數據類型轉換爲日期時間數據類型並添加靜態時間
2013-04-12
我需要它的所有值轉換爲datetime
在entryexpire
有24:00:00
附加到新的值,例如:
2103-04-12 24:00:00
我已經嘗試過演員,祕密演員,增加了新的專欄和連接......所有人都失敗了。
我在我的智慧結束...希望大家都可以提供幫助。我有一個日期列entryexpire
在SQL表,例如:將日期數據類型轉換爲日期時間數據類型並添加靜態時間
2013-04-12
我需要它的所有值轉換爲datetime
在entryexpire
有24:00:00
附加到新的值,例如:
2103-04-12 24:00:00
我已經嘗試過演員,祕密演員,增加了新的專欄和連接......所有人都失敗了。
添加新列col2(日期時間)。問題更新:
update table t1 set col2 = cast(col1, datetime) // db specific function
拖放列Col1。 重命名COL2到COL1
我的意思是,有做以及的一些其他方法
24:00:00是不是真的適合約會的選項 - 你會進入第二天。這裏有一個select語句,你可以使用定製的日期,以您的需求,但對最近的你會得到一天到底是23:59:59.997
DECLARE @MYDATE varchar(50) = '2013-04-12'
SELECT DATEADD(DAY,1,DATEADD(Ms,-2, CAST(@MYDATE AS DATETIME)))
這將返回2013年4月12日23: 59:59.997
或者,你可以有兩種不同的VARCHAR列(這似乎你試過),並詢問他們這樣獲得的日期時間
DECLARE @MYDATE varchar(50) = '2013-04-12'
declare @mytime varchar(50) = ' 23:59:59.998'
select CAST(@mydate + @mytime as datetime)
同樣,使用23:59:59.999導致選擇返回2013-04-13 00:00:00.000。不知道爲什麼。
可能是因爲'datetime'只能應用到[23:59:59.997](http://msdn.microsoft.com/zh-cn/library/ms187819.aspx)。請閱讀[本博客文章](http://sqlblog.com/blogs/aaron_bertrand/archive/2011/10/19/what-do-between-and-the-devil-have-in-common.aspx) - 我避免嘗試添加'結束時間'值;如果OP真的需要這樣的事情,他們最好是存儲實際的第二天,並將其用作唯一的上限(實際上,這是值的實際值)。 –
@folksymAndrew我真的想做的是轉換並添加信息從我的日期列,並使其日期時間00:00:00 這樣的事情,但我知道它的錯誤: 'convert(datetime,[date_datatype_column],121 )+''+ '00:00:00'' ,並將其插入新列或更新原始日期列,這兩者都適用於我。 – gbb116
如果有人有同樣的問題,這是我如何解決。我創建了一個字符列 temptime
並使用update命令將值23:59:00添加到數據庫中的所有記錄中。
i,那麼創建另一列作爲日期時間 entryexpiredatetime
與我entryexpiredate
作爲char和temptime
爲char i列使用@folksymAndrews代碼如下:
塊引用
update [table] set entryexpiredatetime = CAST(ENTRYEXPIREDATE+timetime as datetime)
塊引用
後來我就temptime
柱並留下了我原來的entryexpiredate和我需要entryexpiredatetime列。
感謝您的幫助。這是我覺得我可以完成任務的最好方式,但我確定有一種較少的入侵方式。
你使用了哪個數據庫? SQL Server/MySQL/Oracle?在大多數數據庫中'24:00:00'實際上是'00:00:00'。 – unlimit
您想要更改列的類型,或者您只需要從中選擇並即時轉換爲日期時間? – janos
即時通訊使用sql server 2008和vb.net,並試圖通過查詢字符串通過vb.net來完成。我會很好00:00:00也不受限制,沒有意識到24:00:00是一個問題,謝謝。也janos我還沒有能夠轉換爲日期時間,因爲沒有時間與它關聯。如果我可以將其轉換並添加一個很棒的時間。 – gbb116