powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / преобразование в формат даты
21 сообщений из 21, страница 1 из 1
преобразование в формат даты
    #35633612
TVadim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ, как можно преобразовать в дату, если у меня имеется отдельно день, месяц и год? Есть ли какие функции? Просто день, месяц и год -это данные которые вычисляются независимо др. от др. и их надо склеить чтобы получить дату.
...
Рейтинг: 0 / 0
преобразование в формат даты
    #35633620
Фотография dmidek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо аккуратненько склеить :-)
Возьмем усложненный случай с типом number, с varchar2 еще проще

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
SQL> select to_date(to_char( 4 )||'.'||to_char( 11 )||'.'||to_char( 2008 ),'DD.MM.YYYY') from dual
   2   /
 
TO_DATE(TO_CHAR( 4 )||'.'||TO_CH
------------------------------
 04 . 11 . 2008 
 
SQL> 
...
Рейтинг: 0 / 0
преобразование в формат даты
    #35633623
Фотография pravednik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
SQL> create table x (dd varchar2( 5 ), mm varchar2( 10 ), yyyy varchar2( 15 ));

Table created.

Elapsed:  00 : 00 : 00 . 37 
SQL> create table y (y date);

Table created.

Elapsed:  00 : 00 : 00 . 03 
SQL> insert into x values ('01', 'MAY', '1984');

 1  row created.

Elapsed:  00 : 00 : 00 . 03 
SQL> insert into y select to_date(dd||'-'||mm||'-'||yyyy,'DD-MON-YYYY') from x;

 1  row created.

SQL> select * from y
   2   /

Y
---------
 01 -MAY- 84 

Elapsed:  00 : 00 : 00 . 04 
SQL>
...
Рейтинг: 0 / 0
преобразование в формат даты
    #35633626
TVadim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо, попробую
...
Рейтинг: 0 / 0
преобразование в формат даты
    #35746035
Windbloom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня похожая ситуация, нужно сделать запрос по дате. Причем изначально дата хранится в таблице в нескольких полях: p_33 Number (2) 'число', p_34 Number (2) 'месяц', p_35 Number (4) 'год'
Полагаю, перевод формата данных с помощью функции to_date по представленной выше схеме в данном случае будет подходящим решешением? Поправьте, если не так.
...
Рейтинг: 0 / 0
преобразование в формат даты
    #35746051
heldir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Windbloom
Полагаю, перевод формата данных с помощью функции to_date по представленной выше схеме в данном случае будет подходящим решешением?

Не совсем. Если по этим полям есть индексы, и эти индексы нужны для ускорения запроса, то приводить к дате - плохая идея. В этом случае лучше ставить условие на каждое поле.
...
Рейтинг: 0 / 0
преобразование в формат даты
    #35746053
semenar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Windbloom,

у топикастера необходимо преобразовать строковое выражение в дату. Отсюда и to_date.
если вам надо сделать запрос по трем полям как вы указываете
авторнужно сделать запрос по дате
возможно необходимо использовать extract входящей даты и формировать запрос в соответствии с полями в таблице.
...
Рейтинг: 0 / 0
преобразование в формат даты
    #35746055
work-sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Windbloom,
Возможно Вам более подойдет обратное преобразование:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
select 
        extract( year  from sysdate) yyyy1,
        extract( Month from sysdate) mm1,
        extract( Day   from sysdate) dd1, -- или
        to_number(to_char(sysdate,'yyyy')) yyyy2,
        to_number(to_char(sysdate,'mm'))   mm2,
        to_number(to_char(sysdate,'dd'))   dd2
    from dual;
Но вариант с extract я сам бы не использовал. Ну не знаю я есть ли какие там особенности.
Может кто подскажет?
...
Рейтинг: 0 / 0
преобразование в формат даты
    #35746078
Windbloom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да, индексы по этим полям действительно есть. Как отдельно сравнивать поля, не очень понимаю: если, напрмер, надо записи с 01.01.2008 по 05.02.2008 тут возникнут трудности, т.к. в результате такого простого запроса:
select * from usr_usr_tab
where P_33 between 1 and 5 etc
я получу данные с 01.01 05.01 и с 01.02 по 05.02
С экстрактом не знаком, пороюсь в Oracle9i Database Online Documentation.
...
Рейтинг: 0 / 0
преобразование в формат даты
    #35746103
semenar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Windbloom,

надо получить запрос по дате в периоде? Тогда собирайте дату из полей. и в between её.
...
Рейтинг: 0 / 0
преобразование в формат даты
    #35746111
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TVadimу меня имеется отдельно день, месяц и год
да, индексы по этим полям действительно есть.Вменяемость "дизайнера" вызывает большие сомнения
...
Рейтинг: 0 / 0
преобразование в формат даты
    #35746137
Windbloom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не в курсе, насколько вменяемы разработчики. Но в один из составных индексов. (Create Unique Index Usr.UK#Usr_tab On Usr.Usr_tab) входит месяц и год совершения операции.
Получается, собирать дату по кускам и переводить ее из числового в нормальный формат даты в запросе не есть правильно?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
преобразование в формат даты
    #39887081
Antonnew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть задача:
таблица с колонками - ID, dateb
Id - наименование чего либо
dateb - дата время, формат варчар

нужно из dateb получить только часы. Например 01.01.2001 15:55 - получить 15


PS и да я новичек и профан - для тех кто любит такое замечать))
...
Рейтинг: 0 / 0
преобразование в формат даты
    #39887087
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonnew
Id - наименование чего либо
Срочно обратно в ясли.
Antonnew
я новичек и профан
Ну и зачем ты прячешься в чужих темах?
Antonnew
нужно из dateb получить только часы. Например 01.01.2001 15:55 - получить 15
RTFM Functions (FAQ)
...
Рейтинг: 0 / 0
преобразование в формат даты
    #39887088
Antonnew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Elic,
ну а если по делу? по существу вопроса?


у тебя первый авто и он не заводится - ты открываешь инструкцию по сборке авто и его фнкциям? - сомневаюсь....это тебе для примера, умник ...
...
Рейтинг: 0 / 0
преобразование в формат даты
    #39887091
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonnew
у тебя первый авто и он не заводится - ты открываешь инструкцию по сборке авто и его фнкциям? - сомневаюсь....
И что, простофиля? Неужто ты полезешь в форумы?
...
Рейтинг: 0 / 0
преобразование в формат даты
    #39887101
Antonnew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Elic,
на этом форуме залется куча вопросов людьми которым нужна помощь.

вопрос что здесь делаешь ты? какая ценность от твоих подстебок новичков?

вопрос снят. решение найдено. а тебе лысый я не скажу, кури свои монускрипты
...
Рейтинг: 0 / 0
преобразование в формат даты
    #39887102
Antonnew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Elic,

у тебя 30 тыс сообщений на форуме. все такие же бесполезные?
...
Рейтинг: 0 / 0
преобразование в формат даты
    #39887167
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonnew
нужна помощь.
Если ты изучаешь, читай книги, потом спрашивай. Если ожидаешь подаяния, то проофессиональные попрошайки просят деньги.
Переписывать документацию из интернета в интернет за ради попрошаек не самое мотивированное занятие.
Antonnew
у тебя первый авто и он не заводится - ты открываешь инструкцию по сборке авто и его фнкциям?
Чувствуется, наболело. Богатый опыт последствий нечтения руководств?
...
Рейтинг: 0 / 0
преобразование в формат даты
    #39887206
Antonnew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-2-,

блин, да. на каждом форуме сидят типа профессионалы, которые только и могут что кидать ссылки на ФАК.
у которых тысячи обсолютно бесполезных комментариев....


для особо одаренный - твой комментарий абсолютно излишний. решение найдена было, писал выше


я знаю с какой целью я пришел на форум. Зачем ты здесь, засорять ленту тупыми комментариями?
...
Рейтинг: 0 / 0
преобразование в формат даты
    #39887214
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonnew
на каждом форуме сидят типа профессионалы, которые только и могут что кидать ссылки на ФАК
Все про свое, наболевшее. На автофоруме тебе предложили вытряхнуть пепельницу и вызвать техпомощь?!
Antonnew
твой комментарий абсолютно излишний
Почему же абсолютно. Без него нельзя в полной мере оценить бесценность твоего комментария о бесполезности моего.
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / преобразование в формат даты
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]