将日期时间转换为时间

时间:2014-10-08 15:29:16

标签: sql datetime

我有这段代码,我正在尝试将Datetime转换为Time:

ALTER Procedure [dbo].[GetBookingDetails]
@iDnumber nvarchar(50)
as

select 
    BookingNo,
    RoomName,
    CONVERT(Varchar(10), DATEADD(s,CheckinDate, '1970-01-01 00:00:00'),101 ),
    CONVERT(Varchar(10), DATEADD(s,CheckinDate, '1970-01-01 00:00:00'),101 ),
    Breakfast 
from Booking  
where  IDNumber= @iDnumber

但是我得到了这个错误

  

“参数数据类型日期对于dateadd的参数2无效   函数“

2 个答案:

答案 0 :(得分:0)

来自BOL

  

DATEADD(datepart,number,date)

您需要首先显示部分(第二个),然后显示一个数字(要添加或减少的数量),然后最后显示您的实际日期。

答案 1 :(得分:0)

如果您想从日期时间(并且日期无关紧要)获得时​​间,您可以这样做:

SELECT CAST(checkInDate as TIME)

请注意,这可能不适用于所有sql实现,但这看起来像MS SQL - 请在将来使用您的DBMS标记您的帖子(如果可能的话甚至是版本 - 因为此解决方案不适用于所有版本的ms SQL)