Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Excel формат даны  [new]
Schneider
Member

Откуда: Минск
Сообщений: 107
В Excel в ячейке храниться дата в виде 01.08.2009. Ставлю формат ячейки - общий - получаю число 40026. В MSSQL 2005 выполняю запрос
SELECT convert(datetime, 40026) 
Результат :2009-08-03 00:00:00.000
. То есть разница в два дня. Откуда она? Как правильно преобразовать в дату 40026? (Нужно мне это для скрипта миграции, в базу предварительно были импортированы данные из Excel).
8 окт 09, 17:31    [7760612]     Ответить | Цитировать Сообщить модератору
 Re: Excel формат даны  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
select dateadd(dd, 40026, '18991230') as result

result
-----------------------
2009-08-01 00:00:00.000

(1 row(s) affected)
?
8 окт 09, 17:35    [7760644]     Ответить | Цитировать Сообщить модератору
 Re: Excel формат даны  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36803
А не преобразовывать дату в число и заливать именно датой религия не позволяет?
8 окт 09, 17:36    [7760650]     Ответить | Цитировать Сообщить модератору
 Re: Excel формат даны  [new]
Glory
Member

Откуда:
Сообщений: 104760
Schneider
В Excel в ячейке храниться дата в виде 01.08.2009. Ставлю формат ячейки - общий - получаю число 40026. В MSSQL 2005 выполняю запрос
SELECT convert(datetime, 40026) 
Результат :2009-08-03 00:00:00.000
. То есть разница в два дня. Откуда она? Как правильно преобразовать в дату 40026? (Нужно мне это для скрипта миграции, в базу предварительно были импортированы данные из Excel).

"Нулевой" дате в MSSQL и в Excel соответствуют разные календарные даты 1900-01-01 и 1899-12-31
Поэтому с типом date нужно работать как с date, а не как с numeric
8 окт 09, 17:36    [7760657]     Ответить | Цитировать Сообщить модератору
 Re: Excel формат даны  [new]
Schneider
Member

Откуда: Минск
Сообщений: 107
Всем спасибо.

Гавриленко Сергей Алексеевич
А не преобразовывать дату в число и заливать именно датой религия не позволяет?


Какую базу прислали - с такой и работаю.
8 окт 09, 18:08    [7760871]     Ответить | Цитировать Сообщить модератору
 Re: Excel формат даны  [new]
проходящий.
Guest
Schneider
Всем спасибо.

Гавриленко Сергей Алексеевич
А не преобразовывать дату в число и заливать именно датой религия не позволяет?


Какую базу прислали - с такой и работаю.
И задлянафига делаете вот это:
Schneider

В Excel в ячейке храниться дата в виде 01.08.2009. Ставлю формат ячейки - общий - получаю число 40026.
8 окт 09, 18:09    [7760884]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить