У меня есть таблица, которая содержит значение каждые 30 минут в месяц, например.Преобразование даты GMT в BST на лету в SQL Server 2000
20/03/2010 00:00 12
20/03/2010 00:30 14
и т.д.
Все эти данные хранятся в GMT
мне нужно сделать выбор в этой таблице для данных во времени BST/часы
, например
select *
from tbl
where dt between '01 April 2010' and '30 April 2010 23:30'
, когда в BST в качестве диапазона дат, указанного выше, даты необходимо преобразовать
мне нужен способ приема переключающего часа и в конце марта и октября во внимание
Unfortunatly Я не могу обновить SQL сервера
Есть ли способ, что я могу сделать это в SQL для SQL Сервер 2000?
что-то вроде функции, которую я мог бы сделать?
select *
from tbl
where fnConvertToClockTime(dt) between '01 April 2010' and '30 April 2010 23:30'
Когда в GMT функция вернет точную дату из таблицы
Приветствия
Руперт
Какой язык программирования вы используете? Разве не было бы безопаснее позволять базе данных делать все в UTC и делать всю математику datetime на языке программирования, которая правильно справляется с этим и отправляет SELECT в базу данных в UTC? – eumiro
Я использую c sharp, но я действительно не хочу использовать этот язык, поскольку он становится намного более сложным таким образом, я хотел бы сделать много с этими данными, например, суммирование, цикл и т. Д. Изменение этого языка на использование языка приводят к большому переписыванию кода. – Rupert