Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Преобразование даты (T-SQL) [MSSQL]


Страницы:   1 2

Ольга ©   (2005-11-25 12:13:00) 

Есть все составляющие даты в переменных типа int
Как сформировать полную дату?

declare @god int, @mes int, @day int, @hour int, @min int, @s int
declare @dd datetime

set @god=2005
set @mes=11
set @day=25
set @hour=1
set @min=0
set @s=0

set @dd= ???


sniknik   (2005-11-25 13:11:00) [21]

Zz_   (25.11.05 13:06) [10]
set dateformat dmy
print dateadd(dd,0,'20051105')

set dateformat mdy
print dateadd(dd,0,'20051105')


Zz_   (2005-11-25 13:06:00) [22]


set dateformat dmy
print dateadd(dd,0,'2005-11-05')

set dateformat mdy
print dateadd(dd,0,'2005-11-05')


Zz_   (2005-11-25 13:05:00) [23]

>>Ольга   (25.11.05 13:03) [8]

НЕТ !!!


Ольга   (2005-11-25 13:03:00) [24]

'yyyy-mm-ddd' - это правильно скушает любой сервер?


Zz_   (2005-11-25 13:02:00) [25]

>>Ольга   (25.11.05 12:56) [4]

>>То есть вы считаете этот способ вполне приемлемым?
>>Я думала, что есть что-нибудь более элегантное.

Это САМЫЙ быстрый способ по времени исполнения
элегантные способы безбожно тормозят

>>Reindeer Moss Eater ©   (25.11.05 12:58) [6]
>>Сделай из интов строку даты в формате odbc-canonical 'yyyy-mm-ddd'

И наступить на грабли


Reindeer Moss Eater   (2005-11-25 12:58:00) [26]

Сделай из интов строку даты в формате odbc-canonical
'yyyy-mm-ddd'


Ega23   (2005-11-25 12:57:00) [27]


> Как-то криво.


Ну это первое, что в голову пришло. Можно и круче извратиться.  :о)


Ольга   (2005-11-25 12:56:00) [28]


> Zz_   (25.11.05 12:50) [2]

То есть вы считаете этот способ вполне приемлемым?
Я думала, что есть что-нибудь более элегантное.
Ну, раз мастера советуют,  так и сделаю.
Спасибо.


Ольга   (2005-11-25 12:51:00) [29]


> Ega23 ©   (25.11.05 12:37) [1]

К какой дате добавлять?

set @d=0
DATEADD(yyyy,@god-1900,@d) и т.д. ?

Как-то криво.


Zz_   (2005-11-25 12:50:00) [30]


declare @god int, @mes int, @day int, @hour int, @min int, @sec int
declare @dd datetime

set @god  = 2005
set @mes  = 11
set @day  = 25
set @hour = 1
set @min  = 33
set @sec  = 55

set @dd = dateadd(ss,@sec,dateadd(mi,@min,dateadd(hh,@hour,dateadd(dd,@day-1,dateadd(mm,@mes-1,dateadd(yy,@god-1900,''))))))
print @dd


Ega23   (2005-11-25 12:37:00) [31]

DATEADD ?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо