Вопрос

Я работаю с базой данных AS400 и SQLServer 2008.Мне нужен способ преобразовать дату, скажем, ММ-ДД-ГГГГ в формат лилии и обратно в T-SQL.Кто-нибудь знает что-нибудь?Даже если я преобразую данные, которые у меня были в AS400, в SQLServer 2008, я уверен, что мне все равно понадобится та же функция.

Это было полезно?

Решение

Я не думаю, что здесь есть встроенная функция.Не могли бы вы просто использовать функцию dateiff для преобразования в формат даты лилии?Что-то вроде этого:

declare @testDate DateTime;
set @testDate = '2009-01-01';
declare @lilianDate int;
-- the datediff statement will do the conversion
set @lilianDate = DATEDIFF(day, '1582-10-14', @testDate);
print @lilianDate

и чтобы вернуться, вы можете использовать функцию dateadd() аналогичным образом, я думаю.

Вы можете создать UDF-файлы, чтобы обернуть эту функциональность, если она понадобится вам в нескольких местах.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top