При импорте столбцов типа "Timestamp" к Oracle DB:Oracle - Отметка
Import tbl:
02.09.13 00:00:00
После импорта:
Oracle tbl:
02.09.13 08:23:44,000000000
В Oracle TBL типа также является "Отметка". Как удалить ", 000000000"?
При импорте столбцов типа "Timestamp" к Oracle DB:Oracle - Отметка
Import tbl:
02.09.13 00:00:00
После импорта:
Oracle tbl:
02.09.13 08:23:44,000000000
В Oracle TBL типа также является "Отметка". Как удалить ", 000000000"?
Тип данных TIMESTAMP включает в себя дробные секунды; нет способа удалить их в базе данных, сохраняя тип данных. Если вам не нужны дробные секунды, введите дату в столбец DATE.
Не имеет значения, сохранены ли дробные секунды или нет. При выборе из базы данных в нечто иное, чем другой тип данных даты, вы должны отформатировать дату, как требуется клиенту, отображающему его. Обычный способ сделать это можно с помощью функции TO_CHAR()
; например:
select to_char(column_name, 'dd.mm.yy hh24:mi:ss') from table_name
Вы также можете сделать это на уровне сеанса на changing your NLS settings.
Не относится к вашему вопросу, но для того, чтобы оставить комментарий к запятой, являющейся частью вашей метки времени; формат даты по умолчанию определяется NLS_TERRITORY. Запятая - это совершенно допустимый символ, который есть здесь. Изменив NLS_TERRITORY, например, во Францию, он появится как часть NLS_DATE_FORMAT:
SQL> alter session set nls_territory = 'FRANCE';
Session altered.
SQL> select systimestamp from dual
2 ;
SYSTIMESTAMP
------------------------------------------------------------
18/09/13 13:09:54,418387 +01:00
Вы не можете удалить его. В типе данных временной метки добавляется часть микросекунд. Если вы действительно хотите изменить его, измените тип данных. Но это нецелесообразно. –
«000000000» вы видите, потому что тип данных временной метки хранит долю секунды до десяти знаков после запятой. Кроме того, это не '02.09.13 08: 23: 44,000000000', это' 02.09.13 08: 23: 44.000000000'. Не беспокойтесь, просто игнорируйте это, поскольку то, что вы видите, - это просто преобразование символов в метку времени. Вы можете удалить '000000000', используя' TO_CHAR (column_name, 'dd.mm.yyyy hh24: mi: ss') '. – Rachcha
OP не видит преобразование символов временной метки @Rachcha; они просто используют DB/session, где NLS_TERRITORY установлен на тот, который использует запятую там в формате даты по умолчанию, например, большую часть Европы. – Ben