我有一个表,其中包含一个月内每30分钟的值,例如
20/03/2010 00:00 12
20/03/2010 00:30 14
等
所有这些数据都存储在GMT
中我需要在此表上选择bst / clock time中的数据
例如
select *
from tbl
where dt between '01 April 2010' and '30 April 2010 23:30'
在BST中,因为上面的日期范围是需要转换的日期
我还需要一种方法来考虑转换时间和3月和10月结束
不幸的是我无法升级SQL服务器
有没有办法在SQL for SQL Server 2000中执行此操作?
类似我能做的功能?
select *
from tbl
where fnConvertToClockTime(dt) between '01 April 2010' and '30 April 2010 23:30'
在GMT中,该函数将从表中返回确切的日期
干杯
鲁珀特
答案 0 :(得分:0)
我遇到了同样的问题,正在研究如何使用Calendar表进行此类收集。以UTC时间存储所有日期然后根据需要进行转换,我可能会为不同的时区创建VIEWS以避免参数传递,但我想存储过程也可以。
我在这里找到了一些有用的信息:how-do-i-convert-local-time-to-utc-gmt-time
此处有关于日历表的相关文章:why-should-i-consider-using-an-auxiliary-calendar-table