AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.07.2006, 12:25   #1  
polygris is offline
polygris
Участник
AxAssist
MCBMSS
 
272 / 67 (3) ++++
Регистрация: 14.06.2005
Адрес: Киев
Поле CreatedTime в SQL как INT. Как конвертировать в нормальный формат времени в SQL.
Собвстенно сам сабж :-)
Старый 06.07.2006, 12:55   #2  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Ну, это же секунды в течение суток, т.е. 24 часа * 60 минут * 60 секунд = 86400 секунд.
Соответственно, целое значение пробегает в диапазоне от 0 до 86399.

Или Вам какая-то "фирменная" функция нужна SQL-ная для такого преобразования?


P.S. Например, в Oracle значение времени 70000 секунд может быть представлено строкой "19:26:40" в результате следующей комбинации функций:
Код:
SELECT TO_CHAR( TO_DATE(70000, 'SSSSS'), 'HH24:MI:SS' ) FROM DUAL
А в SQL Server это можно сделать как-то вот так:
Код:
SELECT CONVERT( varchar, DATEADD(second, 70000, 0), 8 )
P.P.S. А если Вам надо в SQL-запросе иметь дату и время в одном "флаконе", то их можно просто сложить в одном поле запроса:
Код:
SELECT 
  CreatedDate,
  CreatedTime,
  CreatedDate + CreatedTime/86400. AS CreatedDateTime
FROM VendTable
В дополнение к примеру выше с 70 тыс. секунд следующие два оператора возвращают настоящие (не текстовые) дату+время 19:26:40 1-го июля 2006 года:
Код:
для Oracle:
SELECT TO_DATE('01.07.06', 'DD.MM.YY') + 70000 / 86400. FROM DUAL
 
для SQL Server:
SELECT CONVERT(datetime, '01.07.06', 4) + 70000 / 86400.

Последний раз редактировалось Gustav; 06.07.2006 в 14:43.
Старый 06.07.2006, 13:33   #3  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Вот функция из Global:
Ваша - будет такая же:

Код:
static TempStr time2StrHMS(int time)
{
    return num2str( time div 3600       ,2,0,0,0)+':'+
           num2Str0(time mod 3600 div 60,2,0,0,0)+':'+
           num2Str0(time mod 3600 mod 60,2,0,0,0);
}
За это сообщение автора поблагодарили: Gustav (3).
Старый 06.07.2006, 14:45   #4  
polygris is offline
polygris
Участник
AxAssist
MCBMSS
 
272 / 67 (3) ++++
Регистрация: 14.06.2005
Адрес: Киев
Gustav
Биг сенкс!
Старый 13.03.2012, 13:50   #5  
Serj187 is offline
Serj187
Участник
 
8 / 10 (1) +
Регистрация: 03.05.2010
как преобразовать дату на числовое значение
Старый 13.03.2012, 13:53   #6  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от Serj187 Посмотреть сообщение
как преобразовать дату на числовое значение
date2num
Старый 13.03.2012, 14:23   #7  
mila_87 is offline
mila_87
Участник
 
6 / 10 (1) +
Регистрация: 13.03.2012
привет!

Serj187
Регистрация: 03.05.2010 как преобразовать дату на числовое значение

мне тоже интересен этот вопрос, можете по конкретней написать ))))
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Dynamics AX: SQL Server, Heart of Dynamics AX Blog bot DAX Blogs 0 13.07.2007 18:00
Формат даты для "родного" диалекта SQL Jab Straight DAX: Программирование 19 14.03.2007 16:11
В журнале трассировки операторов sql нету времени выполнения.. MironovI DAX: Программирование 3 31.08.2005 16:13
как конвертировать поле MODIFIEDDATE? lewisdragon DAX: Функционал 9 07.04.2004 13:14
можно ли вообще использовать нормальный SQL? puz DAX: Программирование 5 09.09.2003 11:40
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 23:30.