【问题标题】:It is possible to combine date and time and stored into datetime format可以结合日期和时间并存储为日期时间格式
【发布时间】:2019-02-01 13:05:48
【问题描述】:

这是我正在尝试的

CREATE TABLE #date (dt datetime)    
declare @date Date ='2019-01-29',
        @time time='11:06:31.095',

INSERT INTO #date
    SELECT CONVERT(NVARCHAR,CONVERT(NVARCHAR,@date)+' '+CONVERT(NVARCHAR,@time))

报错:

从字符转换日期和/或时间时转换失败 字符串。

【问题讨论】:

    标签: sql sql-server database tsql


    【解决方案1】:

    SQL Server 允许您添加 datetime 值,因此您可以这样做:

    select convert(datetime, @date) + convert(datetime, @time)
    

    【讨论】:

    • 真快!:)
    • 当我转换时间时有 2 毫秒的差异。
    • 我的实际时间是“11:06:31.095”,表中存储的时间是“11:06:31.097”
    • @Thebeginner 。 . . datetime 不精确到毫秒(精确到大约 3 毫秒)。你可能想要datetime2
    • @GordonLinoff,有没有办法在表中存储相同的时间?
    【解决方案2】:

    你可以试试这个

    CREATE TABLE #date (dt datetime)
    
    declare @date Date ='2019-01-29' 
    declare @time time='11:06:31.095' 
    
    INSERT INTO #date 
        SELECT CONVERT(datetime,@date)+ CONVERT(datetime,@time)
    
    select * from #date
    

    【讨论】:

    • 当我转换时间时有2毫秒的差异,我的实际时间是“11:06:31.095”,表中存储的时间是“11:06:31.097”
    • @Thebeginner 您可以使用数据类型 datetime2(3) 执行此操作,但无法以毫秒为单位连接和保留该值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-02
    • 1970-01-01
    • 2013-11-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多