powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как транкейтнуть Interval ?
8 сообщений из 8, страница 1 из 1
Как транкейтнуть Interval ?
    #39257036
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите, pls, как "обрезать" дробную часть до четырех символов?
Код: plsql
1.
select cast(i as interval day to second(4)) from (select interval '1.123456' second i from dual)

CAST(IASINTERVALDAYTOSECOND(4))+00 00:00:01.123456...
...
Рейтинг: 0 / 0
Как транкейтнуть Interval ?
    #39257059
Casper_ora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
--Eugene--,

Код: plsql
1.
substr(1,4)


разве не подходит?
...
Рейтинг: 0 / 0
Как транкейтнуть Interval ?
    #39257070
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Casper_ora--Eugene--,

Код: plsql
1.
substr(1,4)


разве не подходит?вопрос об обрезании типа данных Interval, а не Varchar2
...
Рейтинг: 0 / 0
Как транкейтнуть Interval ?
    #39257093
--Eugene--,
Код: plsql
1.
2.
3.
4.
5.
6.
7.
SQL> select cast(i as interval day to second(4)) from (select interval '1.123456' second);

CAST(IASINTERVALDAYTOSECOND(4))
---------------------------------------------------------------------------
+00 00:00:01.1235

SQL> 
...
Рейтинг: 0 / 0
Как транкейтнуть Interval ?
    #39257113
i from dual
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plsql
1.
(select interval '1.123456' second)

что за субд?
...
Рейтинг: 0 / 0
Как транкейтнуть Interval ?
    #39257118
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
i from dual,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
SANDBOX@EE>;select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE    11.2.0.1.0      Production
TNS for 64-bit Windows: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
...
Рейтинг: 0 / 0
Как транкейтнуть Interval ?
    #39257125
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё работает само,

и правда,
Код: plaintext
1.
2.
3.
SANDBOX@EE>;select cast(interval '1.123456' second as interval day to second(4)) from dual;
CAST(INTERVAL'1.123456'SECONDASINTERVALDAYTOSECOND(4))
---------------------------------------------------------------------------
+00 00:00:01.1235

но почему в лягухе видно все 6 знаков после запятой?
...
Рейтинг: 0 / 0
Как транкейтнуть Interval ?
    #39257204
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--Eugene--,

работать само оно, конечно, работает.. только к транкейту это не
если хотите транкейтить - так разбирайте интервал, транкируйте (если надо и то, что надо) и собирайте обратно (опять таки, если надо)
Код: plsql
1.
2.
3.
with t as ( select interval '1.999999' second as i from dual)
select trunc(extract (second from i) ,3) as tr3
  from t;
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как транкейтнуть Interval ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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