2011-09-17 66 views
0

一旦我運行查詢,我該如何將它們重新組合在一起?字符數據類型的日期和時間列連接日期時間數據類型

我能夠運行下面的查詢最新值轉換成日期時間和時間部分附加到它

declare @date char(8), @time char(8) 

select @date='20101001',@time ='12:10:47' 

select cast(@date as datetime)[email protected] 

在上述方法中,日期值被轉換爲datetime數據類型和時間值 加到它。

--------------Output ---------------------- 

result tab - 

(No column name) 

row1 || 2011-09-16 22:16.000 

如何隱藏回原始數據值(撤消)??????

我跑上面的查詢轉換爲datetime數據類型和時間值 添加到它 - 運作良好...現在我想撤消回到原來的日期值.....

+2

什麼是你的問題?爲什麼你發佈的代碼不適合你? –

回答

0

它不清楚問題是什麼,但這是我的猜測。如果你想提取日期時間段使用的日期部分功能可按,

declare @date char(8), @time char(8) 

    select @date='20101001',@time ='12:10:47' 

    select cast(@date as datetime)[email protected] 

    select cast(cast(@date as datetime)[email protected] as datetime) 

    select DATEPART(mm,cast(cast(@date as datetime)[email protected] as datetime)) 
+1

第4行的劇組沒有做任何事情。第3行的結果已經是'datetime',如'select sql_variant_property(cast(@date as datetime)+ @ time,'basetype')所示。AS基類型 ' –

0

要提取datetime的組成部分成特定格式的字符串中使用CONVERT功能,並通過所需的樣式。要回到你開始的地方使用

DECLARE @date CHAR(8), 
     @time CHAR(8) 

SELECT @date = '20101001', 
     @time = '12:10:47' 

DECLARE @dt DATETIME 

SELECT @dt = CAST(@date AS DATETIME) + @time 

SELECT CONVERT(CHAR(8), @dt, 112) AS [@date], 
     CONVERT(CHAR(8), @dt, 108) AS [@time] 

其中給出

@date @time 
-------- -------- 
20101001 12:10:47 
相關問題