![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Преоброзование даты/времени из одного формата в другой ? [D6, IB6.x]
slaga © (2004-11-05 13:35:00)У меня такой вопрос:
Как преоброзовать в запросе дату/время из такого формата:
20041104172335;
В такой:
11.04.2004 17:23:35.
Меня интересует возможность похожая на Oraclовскую:
TO_CHAR(20041104172335, 'YYYYMMDDHH24MISS').
Johnmen (2004-11-05 15:07:00) [1]Значит ты нагло наврал про используемый сервер.
:)
slaga (2004-11-05 14:59:00) [2]Ура, спасибо огромное Соловьев, чуть чуть модефицировал и все получилось.
select
cast(
substring(SALESTIME from 7 for 2 )||'.'
||substring(SALESTIME from 5 for 2 )||'.'
||substring(SALESTIME from 1 for 4 )
as date)
from sales
вот так это у меня выглядело
Соловьев (2004-11-05 14:59:00) [3]проверь сначала правильно ли формирует компоненты даты, а потом попробуй разные форматы: dd.mm.yyyy, yyyy-mm-dd, dd-mm-yyyy и т.д. Думай
Johnmen (2004-11-05 14:57:00) [4]>slaga © (05.11.04 14:47) [12]
>3. Если бы у тебя был FB вместо IB, то можно было бы и на
>уровне сервера.
>
>читай внимательно
Где здесь хоть слово про UDF ???
Про SUBSTRING забудь.
slaga (2004-11-05 14:56:00) [5]:)) разобрался, но оно все равно ругается на то что это conversion error from string ^(
Соловьев (2004-11-05 14:51:00) [6]
> ругается :(
а подумать? там есть ошибки. ну и что? ты ж прграммер.
slaga (2004-11-05 14:49:00) [7]>>to Соловьев
fmSQLEditor_1.Query:
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 3, char 25.
).
ругается :(
slaga (2004-11-05 14:47:00) [8]3. Если бы у тебя был FB вместо IB, то можно было бы и на уровне сервера.
--------------------------------------------------------------------------------
читай внимательно
Соловьев (2004-11-05 14:45:00) [9]select
cast(
cast(substring(field1) from 1 for 4 )||'-'
cast(substring(field1) from 5 for 2 )||'-'
cast(substring(field1) from 7 for 2 ) as date)
from table
Дале сам можешь придумать как и время прилепить
Johnmen (2004-11-05 14:40:00) [10]>но ты же говоришь что UDF можно юзать только с FB, а с IB нет
Я этого не говорил, т.к. говорить этого не мог в принципе.
Mike Kouzmine (2004-11-05 14:37:00) [11]Можно еще сделать вычисляемое поле, а то, с абракадаброй, скрыть. Но это только на клиенте.
slaga (2004-11-05 14:37:00) [12]но ты же говоришь что UDF можно юзать только с FB, а с IB нет
Johnmen (2004-11-05 14:34:00) [13]Тогда п.1
slaga (2004-11-05 14:29:00) [14]:))
Весело, только мне это надо именно под IB и именно в selecte/
Johnmen (2004-11-05 14:17:00) [15]
if not п.3 then
if not (I know, what is UDF) then п.2
else п.1
else п.3;
slaga (2004-11-05 14:11:00) [16]А так как мне поступит ?
Johnmen (2004-11-05 14:07:00) [17]1. UDF - User Define Function
2. Если "работать" это в приложении, то и делай к нужному формату в приложении.
3. Если бы у тебя был FB вместо IB, то можно было бы и на уровне сервера.
slaga (2004-11-05 14:02:00) [18]НУ во-первых что такое UDF и как его использовать.
А во-вторых табличка не моя, а мне с ней работать :(
Формат поля с датой/временем VARCAHR.
Johnmen (2004-11-05 13:45:00) [19]Что-то тебе и на sql.ru не отвечают...:)
Видимо потому, что ответ стандартный - UDF.
И ещё можно потрепаться на тему "а зачем у тебя такой формат?","какого типа 20041104172335" и т.п.
:)