如何时时刻刻地转换日期

如何时时刻刻地转换日期

我在铸造DateTime使用CAST语法。

select CAST([time] as time) as [CSTTime]

日期时间2015-03-19 00:00:00.000

目前产出:时间03:05:36.0000000

我只需要HH:MM:SS而不是毫秒或零零秒

如何过滤或铸造它来精确HH:MM:SS格式。


慕运维8079593
浏览 472回答 3
3回答

跃然一笑

你可以用CAST只是简单的使用TIME(0)数据类型如下:SELECT CAST('2015-03-19 01:05:06.289' AS TIME(0))产出:01:05:06

牛魔王的故事

SQLServer 2008:select cast(MyDate as time) [time] from yourtable早期版本:select convert(char(5), MyDate , 108) [time] from yourtable其他备选方案:SELECT CONVERT(VARCHAR(20), GETDATE(), 114)从日期时间中获取时间的最简单方法无毫秒堆栈是:SELECT CONVERT(time(0),GETDATE())时时刻刻SELECT substring(CONVERT(VARCHAR, GETDATE(), 108),0,6) AS Time

MMTTMM

Time不与其存储在一起。显示格式在SQLServer中。因此,从用户的角度来看,您可以说没有格式。当然,这并不完全准确,因为它确实有一个存储格式,但作为普通用户,您不能真正使用它。对于所有日期和时间数据类型都是这样:Date, DateTimeOffset, DateTime2, SmallDateTime, DateTime和Time.如果需要格式,则不需要将格式转换为time但对一个char..使用Convert为了得到char你需要:SELECT CONVERT(char(10), [time], 108) as CSTTime以下是一些背景数据,如果您感兴趣的话:在……里面这篇文章作者于2000年出版,深入解释了SQLServer如何处理日期和时间。我怀疑在2000到2015年间SQL Server存储方式是否发生了重大变化date, time和datetime内部价值。以下是相关的引语,如果您不想全部阅读的话:那么SQLServer内部如何存储日期呢?它使用8个字节来存储日期时间值-前4个用于日期,第二个4个用于时间。SQLServer可以将这两组4字节解释为整数。................SQL Server存储时间的第二个整数,因为午夜后时钟会滴答作响。一秒钟包含300个滴答,因此一个滴答等于3.3毫秒(毫秒)。自time实际上是作为一个4字节整数存储的,它实际上没有作为数据类型不可分割的一部分的格式。你也可以去看看这篇文章以获得更详细的代码示例说明。
打开App,查看更多内容
随时随地看视频慕课网APP