powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / date в строку
7 сообщений из 7, страница 1 из 1
date в строку
    #39965824
lehakarlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем добрый день! Проясните, пожалуйста, ситуацию.
Почему так происходит:
запрос select (to_date(sysdate,'YY.MM.DD')) from dual возвращает дату 20.06.2003
но запрос select to_char(to_date(sysdate,'YY.MM.DD')) from dual возвращает 20-JUN-03
а мне надо чтобы результат был тот же, чтобы я мог делать со строкой дальнейшие манипуляции.
Помогите, пожалуйста, разобраться, заранее всем спасибо.
...
Рейтинг: 0 / 0
date в строку
    #39965826
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oracle Globalization Support Guide обязателен к чтению.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
date в строку
    #39965829
проходил мимо...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lehakarlov,

to_date возвращает дату, а to_char - строку. кажется очевидным, нет?..
...
Рейтинг: 0 / 0
date в строку
    #39965831
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lehakarlov
Всем добрый день! Проясните, пожалуйста, ситуацию.
...
а мне надо чтобы результат был тот же, чтобы я мог делать со строкой дальнейшие манипуляции.
Помогите, пожалуйста, разобраться, заранее всем спасибо.


функция to_date принимает CHAR, а функция sysdate возвращает DATE
Код: plsql
1.
2.
3.
4.
5.
-- ваша конструкция превращается:
select (to_date(sysdate,'YY.MM.DD')) from dual
20.06.2003
select to_char(to_date(sysdate,'YY.MM.DD')) from dual
20-JUN-03
...
Рейтинг: 0 / 0
date в строку
    #39965833
lehakarlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поспешил с созданием темы. Спасибо за советы, разобрался!
...
Рейтинг: 0 / 0
date в строку
    #39965836
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Случайно отправил не готовое сообщение
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
-- ваша конструкция превращается:
select (to_date(sysdate,'YY.MM.DD')) from dual
select(
to_date(
    to_char(sysdate)  -- С форматом по умолчанию (параметр сессии NLS_DATE_FORMAT) 
   ,'YY.MM.DD'
)
20.06.2003
--
select to_char(to_date(sysdate,'YY.MM.DD'),'<параметр сессии NLS_DATE_FORMAT>') from dual
20-JUN-03



автор...
а мне надо чтобы результат был тот же, чтобы я мог делать со строкой дальнейшие манипуляции.
...


Ваши операторы имеют следующие грабли:
1) Зависят от параметров сессии ( NLS BOMB), у других пользователей настройки могут быть другие
2) Куча неявных преобразований, которые непредсказуемы

DATE - уже является DATE, вот и работайте с ним как DATE
...
Рейтинг: 0 / 0
date в строку
    #39965998
lehakarlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vadim Lejnin, как раз то, что я хотел узнать, спасибо!
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / date в строку
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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