首页 > 解决方案 > 将 DATE 转换为 UTCTicks 以进行 sql 查询

问题描述

在使用刻度格式定义DATE值的数据库查询和WHERE使用常规格式的子句中DateTime,查询执行是否可以自动转换为刻度格式并返回正确的结果?

例如,如以下示例代码所示,当UTCTicks接收到常规日期值作为输入时,它会在查询运行之前自动转换为 UTC 刻度:

where StartUTCTicks > 637212960000000000 and StartUTCTicks < 637345151990000000 

标签: sqlsql-server

解决方案


查询自动将其转换为刻度并从数据库中获取结果

是的,您可以自动实现这一点。你这样做的方式是首先将值存储为DateTime列!

Sql Server 已经以高效的二进制格式存储日期时间值。它不会将它们存储为字符串,除非您愚蠢地选择了 varchar 类型。因此,通过尝试在 Sql Server 中使用刻度而不是 DateTime 值,您获得的唯一好处是无法轻松访问内置的 DateTime 函数和索引,包括自动将 SQL 代码中的某些文字视为 DateTime 值。


推荐阅读