sql - 在 SQL 中将某些每日时间范围的日期更改为前一天
问题描述
我们有一个带有日期时间字段的表,需要让它与其他具有在系统日期而非日历日期上工作的日期字段的表正常工作。
我们的系统日一直运行到凌晨 1:59,因此在所有这些表中午夜之后的任何内容都被视为前一天(实际上并不显示日期时间,只是显示日期)。
我想弄清楚如何创建一个日期字段,其中“2019-01-01 01:45:00.111”将读作“2018-12-31”,但“2019-01-01 2:00:00.111”读作“2019-01-01”。
任何想法将不胜感激。
解决方案
通过从每个日期时间值中删除 120 分钟,然后将日期时间值转换为日期,试试下面这个简单的逻辑。
SELECT CAST(DATEADD(MINUTE,-120,<your_date_time_column>) AS DATE)
FROM <Your_Table>
推荐阅读
- spring-boot - 如何在kafka中获得消费者对经纪人的确认
- python - SQLalchemy Integer TypeDecorator for Python IntFlag:过滤多个条目
- javascript - 在 React 项目中,我应该在哪里传递 Bearer Authentication Token?
- java - 将 yaml 文件标记为已弃用
- jsf - 关闭 ui:include 对话框后更新页面
- java - aws dynamodb java sdk:无法解析符号“标准”:AmazonDynamoDBClientBuilder.standard()
- python - 保持按属性排序的对象集合
- python - 极简派Pytest输出?
- python - 同时替换字符串中的多个单词
- python-3.x - 如何减少箱线图中x轴的刻度数?