21.07.2006, 13:33 | #1 |
Участник
|
заполнить createdTime
привет
нужно извне заполнить с пом tsql поле createdTime. Знаю, как преобразовать извлесь из тек даты время: convert(int, CONVERT(varchar(8), GETDATE(), 108)) . Но в Ax время это int а не str...... Как из getdate извлечь время и сохранить так, чтоб аксапте было ясно? |
|
21.07.2006, 13:37 | #2 |
Moderator
|
Поле CreatedTime в SQL как INT. Как конвертировать в нормальный формат времени в SQL
там задача, обратная Вашей А у Вас будет примерно так: Код: SELECT 86400 * ( CONVERT(real, GETDATE(), 108) - FLOOR( CONVERT(real, GETDATE(), 108) ) ) или чтоб совсем хорошо (сразу в целом виде): SELECT 3600 * DATEPART(hour, GETDATE()) + 60 * DATEPART(minute, GETDATE()) + DATEPART(second, GETDATE()) Последний раз редактировалось Gustav; 21.07.2006 в 14:04. |
|
21.07.2006, 14:16 | #3 |
Участник
|
Действительно кол-во секунд считает =).
Чот я на convert перезаморачивалась.... Спасибо! |
|
21.07.2006, 14:28 | #4 |
Участник
|
select datediff( ss, cast( convert( varchar(10), getdate(), 102) as datetime), getdate())
|
|
21.07.2006, 14:37 | #5 |
Moderator
|
Цитата:
Сообщение от kitty
select datediff( ss, cast( convert( varchar(10), getdate(), 102) as datetime), getdate())
ИМХО: я бы все равно рекомендовал свою вторую как наиболее прозрачную |
|
21.07.2006, 14:38 | #6 |
Участник
|
кстати, подумала, что тк в
PHP код:
|
|
21.07.2006, 14:39 | #7 |
Участник
|
в моем варианте тож это может быть
|
|
21.07.2006, 14:40 | #8 |
Участник
|
ну то есть канешнА понятно, что если так заморачиваться, то просто в переменную надо сохранять результат getdate.
Спасибо за помощь! |
|
21.07.2006, 15:06 | #9 |
Moderator
|
Цитата:
Сообщение от kitty
если так заморачиваться, то просто в переменную надо сохранять результат getdate
Но иногда нужно всё делать одним запросом и не в процедуре. Тогда можно через inline view, т.е. "SELECT... FROM (SELECT...": Код: SELECT (3600 * DATEPART(hh, gd) + 60 * DATEPART(mi, gd) + DATEPART(ss, gd)) AS scnds FROM (SELECT GETDATE() AS gd) iv |
|
|
|