sql - 将 DATE 转换为 UTCTicks 以进行 sql 查询
问题描述
在使用刻度格式定义DATE
值的数据库查询和WHERE
使用常规格式的子句中DateTime
,查询执行是否可以自动转换为刻度格式并返回正确的结果?
例如,如以下示例代码所示,当UTCTicks
接收到常规日期值作为输入时,它会在查询运行之前自动转换为 UTC 刻度:
where StartUTCTicks > 637212960000000000 and StartUTCTicks < 637345151990000000
解决方案
查询自动将其转换为刻度并从数据库中获取结果
是的,您可以自动实现这一点。你这样做的方式是首先将值存储为DateTime
列!
Sql Server 已经以高效的二进制格式存储日期时间值。它不会将它们存储为字符串,除非您愚蠢地选择了 varchar 类型。因此,通过尝试在 Sql Server 中使用刻度而不是 DateTime 值,您获得的唯一好处是无法轻松访问内置的 DateTime 函数和索引,包括自动将 SQL 代码中的某些文字视为 DateTime 值。
推荐阅读
- c# - SQL 错误“您未连接,因为网络上存在重复名称”
- snipcart - 如何防止每次将商品添加到购物车时出现购物车?
- reactjs - 有条件地从组件中移除道具
- sql - 按 Sql Server 中的一列分组并按未包含在聚合函数或 GROUP BY 子句中的另一列排序
- python - 如何验证和知道 URL 是否是 Google Docs URL?|Python,烧瓶|
- reactjs - custom-cra 为 JEST 编译 node_modules
- javascript - 如何将对象值数组转换为数字
- controller - Laravel 中的 PayPal 沙盒
- android - 如何模拟同伴lateinit var?
- git - 有没有办法在 intellij 中使用 git push-option?