当前位置: 首页 > 面试题库 >

如何将DateTime转换为时间

东方明亮
2023-03-14
问题内容

我正在DateTime通过使用CAST语法将字段转换为时间。

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

约会时间 2015-03-19 00:00:00.000

当前输出:时间 03:05:36.0000000

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

如何过滤或将其转换为精确HH:MM:SS格式。


问题答案:

Time不以其 显示格式 存储在SQL Server中。 因此,从用户角度来看,您可以说它 没有格式。
当然,由于它确实具有 存储格式 ,因此并不完全准确,但是作为普通用户,您不能真正使用它。
这是所有的日期和时间数据类型真:
DateDateTimeOffsetDateTime2SmallDateTimeDateTimeTime


如果您需要格式,则无需强制转换timechar。使用Convert以获得char您需要:

SELECT CONVERT(char(10), [time], 108) as CSTTime

如果您有兴趣,请参考以下背景数据:

在2000年发表的这篇文章中,作者深入解释了SQL Server如何处理日期和时间。我怀疑,如果有任何显著的方式SQL
Server存储2000和2015年之间变化datetimedatetime值在内部。

如果您不想全部阅读,请参考以下相关报价:

那么,SQL Server如何在内部存储日期? 它使用8个字节来存储日期时间值-前4个用于日期,后2个用于时间。SQL
Server可以将两组4个字节解释为整数。
........
........
SQL Server将时间的第二个整数存储为午夜之后的时钟滴答数。一秒包含300个滴答声,因此滴答声等于3.3毫秒(ms)。

由于time实际上是以4字节整数存储的,因此它实际上没有格式作为数据类型的组成部分。



 类似资料:
  • 问题内容: 我需要将变量中的值转换为格式化为格式的变量(无时间部分)。 我怎么做? 问题答案: 使用Microsoft Sql Server:

  • 问题内容: 我试图将datetime2转换为datetime,以便仅使用SQL或SSIS在不同源之间创建标准。以以下SQL查询为例: 我收到以下错误:“不允许从数据类型datetime2到时间戳的明确转换。” 此外,我确实使用简单的转换将datetime2转换为date。 使用SQL Server 2008或SSIS将datetime2转换为datetime的正确方法是什么? 吉利比 问题答案:

  • 问题内容: 我有一个WebService返回DateTime字段。 我得到一个结果,但是 我想我怎么能做到这一点。 通过设置Header Content-Type:application / json; charset = utf-8; 我得到了类似的结果。 问题答案: 您可以更改您的WS以返回带有DateTime值的long。要返回的值是自Unix纪元(01/01/1970)以来的毫秒数。这可以

  • 但是,当我在数据库中查找时,存储的时间是由数据库时区与UTC的差值得出的。例如,当我的数据库在UTC+1运行时,运行上面的代码保存“08:00z”,数据库中的时间戳显示为09:00。 datetime的getMillis方法说“从1970-01-01t00:00:00z的Java纪元获取datetime瞬间的毫秒。”MySql的时间戳显示:“MySql将时间戳值从当前时区转换为UTC以存储,然后从

  • 问题内容: 我正在使用像XML dateTime类型的“ 2011-02-27T10:03:33.099-06:00”这样的字符串来获取时间。我也有TimeZone类型的时区。我应该如何在该时区将dateTime转换为GregorianCalendar java类型。 问题答案: Java内置了用于解析xml日期时间的代码:使用DatatypeConverter.parseDateTime()。这

  • 这是我在申请表中得到的日期: 将psqlDate转换为joda的最佳方式是什么? [编辑] 我可以使用解析方法。它可以很好地使用时间戳,它可以使用T-分割日期和时间的信息。 这应该与良好的模式一起工作: 带有时区的PostgreSQL时间戳的正确模式是什么?