powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Точность поля с типом Date
41 сообщений из 41, показаны все 2 страниц
Точность поля с типом Date
    #39623327
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!

У меня есть поле в формате date в котором отображается дата в виде 30.03.18 , я с помощью to_char(поле, 'yyyy-mm-dd hh24:mi:ss') преобразовываю в нужный формат даты со временем.
И все бы ничего но мне надо более точное время тобиш не до секунд, а до сотых секунд или еще точнее (чем точнее тем лучше).
Вообщем каким образом можно отобразить наиболее точную дату?
Спасибо
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623330
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timestamp
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623333
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор kolyadyВообщем каким образом можно отобразить наиболее точную дату?
отобразить можно как угодно.
например так : to_char(поле, 'yyyy-mm-dd hh24:mi:ss000000000000000000000000000')
а для хранения лучше использовать соотвествующий тип
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623361
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
123йй,

Отобразить в плане чтоб сотые секунды не были всегда нулевыми (от такой точности проку никакого), сотые секунды нужны реальные а не чтобы добить строку.
Тип данной даты должен быть sring
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623368
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolyady,

у типа DATE нет сотых секунды
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623383
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
123йй,

Да нет есть сотые
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623384
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolyadyДа нет есть сотыеЧудак, ты напрасно упорствуешь в невежестве.
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623387
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прежде чем что-то утверждать, прочтите документацию и приведите test case.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Connected to Oracle Database 11g Release 11.2.0.1.0 
Connected as system@DMASLOV


SQL> select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss00') from dual;

select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss00') from dual

ORA-01821: формат даты не распознан

SQL> select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') from dual;

TO_CHAR(SYSDATE,'YYYY-MM-DDHH2
------------------------------
2018-03-30 15:32:38

SQL> 

...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623400
merch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolyadyДа нет есть сотые

тут не хватает еще "может быть".
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623401
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dmdmdm,

Такой например
select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss.SSSSS') from dual;
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623402
XMLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolyady,
Код: plsql
1.
2.
3.
4.
5.
6.
7.
select case when sysdate = sysdate then 'equal' else 'not equal' end equal
    ,  case when sysdate = (sysdate - 1/(24 * 60 * 60)) then 'equal' else 'not equal' end one_second
    ,  case when sysdate = (sysdate - 1/(24 * 60 * 60 + 1)) then 'equal' else 'not equal' end  less_then_second
    ,  case when sysdate = (sysdate - 1/(24 * 60 * 60 *60)) then 'equal' else 'not equal' end  too_small
 from dual

equal	not equal	not equal	equal
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623406
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно я щзавелл в заблуждение, мне нужно получить более точную дату со временем (максимально точную), неважно сотые секунды это или другие варианты точности
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623408
Excession
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kolyady,

Зачем?
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623409
merch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolyadydmdmdm,

Такой например
select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss.SSSSS') from dual;



Код: plsql
1.
2.
3.
4.
select 
  to_char(to_date('01.06.2012 23:45:'||to_char(level, '00'), 'dd.mm.yyyy hh24:mi:ss'), 'yyyy-mm-dd hh24:mi:ss.SSSSS') 
from dual
connect by level < 11;



А тут какие сотые и тысячные?
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623410
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XMLer,

На выходе мне нужно получить string (char, varchar) значение
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623412
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dmdmdm
Код: plsql
1.
SQL> select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss00') from dual;

прочитай про кавычки
kolyadyневажно сотые секунды это или другие варианты точности тогда почему не хватает yyyy-mm-dd hh24:mi:ss ?
это подходит под твое требование
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623413
XMLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolyady,
а теперь в таблице:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
create table date_test as
select sysdate as now
     , (sysdate - 1/(24 * 60 * 60)) one_second
     , (sysdate - 1/(24 * 60 * 60 + 1))  less_then_second
    ,  (sysdate - 1/(24 * 60 * 60 *60))  too_small
 from dual


select * from date_test
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623419
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XMLer,

Не могу понять к чему вы клоните.
У меня уже есть поле где хранится дата в формате date, мне нужно получить строку в формате String с максимальной точностью даты
тобиш чтобы это не было :
'30.03.18'
а
'2018-03-30 12:03:23.256894'

Вариант '2018-03-30 12:03:23.256894' - пока отображает максимальную точность на данный момент, может есть у кого то еще варианты?
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623423
Excession
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kolyady,

В третьем посте этой темы есть ссылка, по которой ты найдешь абсолютно полный ответ на свои вопросы.
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623425
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
123йй,

Вариант с нулями после секунд (select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss00') from dual;) у меня впринципи не отрабатывает или вместо 00 что то другое ставить нужно?

этот вариант сейчас работает (yyyy-mm-dd hh24:mi:ss) но такой точности мало
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623427
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если у тебя тип поля date, то там НЕТ долей секунды. По определению. Если бы они там были, то не пришлось бы в Oracle 9 вводить новый тип данных timestamp.
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623433
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolyadyхранится дата в формате date, мне нужно получить строку в формате String логично!
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623434
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tru55,

После секунд SS (2 символа) через точку можно вывести еще 6 циферных значений, может то и не милисекунды но они отображают более точное значение
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623435
XMLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolyadyXMLer,

Не могу понять к чему вы клоните.
К тому что тебе кажется что у тебя есть сотые доли

Код: plsql
1.
2.
3.
4.
select case when (now - one_second) = (now - less_then_second) then 'equal' else 'not equal' end
     , case when (now - one_second) = (now - too_small) then 'equal' else 'not equal' end 
from date_test a
equal	not equal
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623436
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если ты знаешь Oracle лучше, чем все остальные ответившие, то зачем тогда спрашивать?
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623438
Excession
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kolyady,

авторFor each DATE value, Oracle stores the following information: century, year, month, date, hour, minute, and second.

Перевести можешь?
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623439
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Excession,

Перейдя по данной ссылке вы поймете что она никакого отношения к данной теме не имеет. Данная тема о преобразовании типа даты в строку с сохранением точности
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623440
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolyady,

..еще варианты
купить очки
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623441
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tru55,

Дак я спрашиваю у тех кто знает лучше :), пытаюсь проанализировать все возможные варианты и выбрать оптимальный
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623442
Excession
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
orawish,

Очки в данном плачевном случае не помогут ...
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623443
XMLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolyadyExcession,
Данная тема о преобразовании типа даты в строку с сохранением точности
Тебе уже 10 человек сказали что точность date - секунда, никаких сотых нет
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623444
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ExcessionавторFor each DATE value, Oracle stores the following information: century, year, month, date, hour, minute, and second.Перевести можешь?Мгновения спрессованы в года,
Мгновения спрессованы в столетия.
У date есть секунды иногда.
Но не мгновения, мгновения.
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623445
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-Мгновения спрессованы в года,
Мгновения спрессованы в столетия.
У date есть секунды иногда.
Но не мгновения, мгновения.Номинирую на Литературную премию SQL.ru.
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623452
merch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolyadyПосле секунд SS (2 символа) через точку можно вывести еще 6 циферных значений, может то и не милисекунды но они отображают более точное значение

так тебе нужны "6 циферных значений"? используй тогда dbms_random.value (получаешь дату, прилепляешь dbms_random с нужной точностью).
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623462
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ведь представитель 52 региона дал ответ в самом начале топика.
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623466
merch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKad, если воспользоваться советом 52 региона, можно получить точность .000000000
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623485
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ясно

Раз идей больше никаких , то под итожу:
наибольшая точность перевода даты в строку достигается путем преобразования в виде:
to_char(поле, 'yyyy-mm-dd hh24:mi:ss.SSSSS')
На этом все, всем спасибо за внимание
:)
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623493
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolyadyЯсно

Раз идей больше никаких , то под итожу:
наибольшая точность перевода даты в строку достигается путем преобразования в виде:
to_char(поле, 'yyyy-mm-dd hh24:mi:ss.SSSSS')
На этом все, всем спасибо за внимание
:)
нарисовать пять ( или десять ) нулей в хвосте - не то же самое, что увеличить точность
настаиваю, на предложении купить очки
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623497
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolyadyпод и тожу:
Код: plsql
1.
to_char(поле, 'yyyy-mm-dd hh24:mi:ss.SSSSS')

Кретинизм крепчает.
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623501
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мда согласен не вариант
...
Рейтинг: 0 / 0
Точность поля с типом Date
    #39623542
j2k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-Мгновения спрессованы в года,
Мгновения спрессованы в столетия.
У date есть секунды иногда.
Но не мгновения, мгновения.
Супер!
...
Рейтинг: 0 / 0
41 сообщений из 41, показаны все 2 страниц
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Точность поля с типом Date
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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