event_time
以UTC格式存储在数据库中。
试图在月末附近考虑那些""小时,以确保所有结果都在本地时间,而不是UTC,这是我的代码的简化版本:
SELECT
MONTH(event_time) AS 'month'
FROM
<table1>
INNER JOIN
<table2> ON <table1>.id = <table2>.id
WHERE
<table1>.event_time BETWEEN ToDateTimeOffset(@StartDate, @Offset) AND ToDateTimeOffset(@EndDate, @Offset)
使用此功能时,MONTH(event_time)
会根据UTC或EST(偏移量设置为)转换月份,还是必须使用MONTH(ToDateTimeOffset(event_time, @Offset))
?
答案 0 :(得分:1)
MONTH(event_time)
将花费#34;而没有偏移&#34;零件。但是你最好不要计算UTC的月初始和星期几,然后进行>=, <
查询。索引也可以更好地使用。