Ошибка, Хранящая Дату в таможенном формате, используя to_date

Цель:

  1. я хочу сохранить дату в базе данных в dd/MM/yyyy формат.

  2. , который я сначала отформатировал его, используя DateFormat , который приводит к изменению его, чтобы Последовательность , тип данных и затем пытающийся преобразовать назад в тип данных даты при помощи to_date функционирует, но это сохранено в как 19-DEC-12 т.е. dd-MON-yy формат.

Кодекс:

DateFormat df = new SimpleDateFormat("dd/MM/yyyy"); 
java.util.Date dob=JDateChooser.getDate();  
java.sql.Date dobloc=new java.sql.Date(dob.getTime()); 
String dobloc1=df.format(dobloc);   
String sql="INSERT INTO ADMIN.DEPARTMENT(date_of_birth) VALUES (to_date(?,'dd/MM/yyyy'))"
PreparedStatement pst = conn.prepareStatement(sql);  
pst.setString(1, dobloc1);          
1
nl ja de
Просто нас тот java.sql. Дата непосредственно, вы путаете формат хранения и формат представления.
добавлено автор Mark Rotteveel, источник

2 ответы

Даты не сохранены с форматом, который вы определяете в любой базе данных (если вы не используете область последовательности), Большинство систем баз данных хранит ценности даты и времени как "двойную" стоимость.

Необходимо поместить дату в базу данных и беспокойство о форматировании, когда вы получаете данные из db или представляете его пользователю.

2
добавлено
На самом деле я пытаюсь сохранить в правильном формате, потому что я показываю чистую копию своей Таблицы базы данных на некоторых других формах, используя JTable так форматирование даты, в котором сохранена дата, показан непосредственно. Я не хочу преобразовывать Формат даты на своем большом количестве Jtables, который может сделать меня, чтобы изменить Формат даты снова и снова, в то время как мои столы продолжают увеличиваться
добавлено автор Akki, источник
Я не знаком с JTable, но я все еще полагаю, что вы не должны волноваться о в который формат вставить данные, а скорее в который формат показать данные в JTable. Это вызвано тем, что, неважно, что вы делаете, ядро базы данных не хранит информации о, в который формат вы вставили данные. Это просто держит дату как родную стоимость. Но так как я не знаком с JTable, я won' t настаивают:)
добавлено автор e-mre, источник

Я думаю, что вы неправильно понимаете, как дата на самом деле работает в Oracle.
Дата не сохранена как "19-DEC-12" или "19/12/2012", это сохранено как 7 байтов.

Посмотрите здесь для получения дальнейшей информации.

Если вы выбираете колонку даты, она отформатирована, используя NLS_DATE_FORMAT. Это - маска по умолчанию, используемая, чтобы отформатировать те 7 байтов.

Конечно, если вы используете сделанную на заказ маску формата как to_char (sysdate, 'YYYY MM DD') дефолт, NLS_DATE_FORMAT проигнорирован.

Поскольку я читал в вышеупомянутых комментариях

На самом деле я пытаюсь сохранить в правильном формате, потому что я показываю чистую копию своей Таблицы базы данных на некоторых других формах, используя JTable так форматирование даты, в котором сохранена дата, показан непосредственно. Я не хочу преобразовывать Формат даты на своем большом количестве Jtables, который может сделать меня, чтобы изменить Формат даты снова и снова, в то время как мои столы продолжают увеличиваться

Я предлагаю, чтобы вы также спасли определенную маску форматирования, используемую, чтобы отформатировать даты в другой колонке в вашей Таблице базы данных. Прежде чем вы покажете свою дату в JTable, который вы форматируете ее с этой маской, используя DateFormat .

1
добавлено
SqlCom.ru - Стиль жизни SQL
SqlCom.ru - Стиль жизни SQL
908 участник(ов)

Правила чата - https://t.me/sqlcom/88269 @sqlcom - основной канал (только MS SQL) @sql_ninja - второй канал (SQL вопросы начального уровня и свободное общение) @Gopnegbot - Викторина по SQL Server (наберите в привате /quiz). Предложения в @sql_ninja

SQL_Ninja
SQL_Ninja
340 участник(ов)

Правила чата - https://t.me/sqlcom/88269 @sqlcom - основной канал (только SQL) @sql_ninja - второй канал (SQL вопросы начального уровня и свободное общение) @Gopnegbot - Викторина по SQL Server (наберите в привате /quiz)

Oracle RU
Oracle RU
303 участник(ов)

Русскоязычная группа по Oracle. — Архитектура СУБД — PL/SQL — Оптимизация — Администрирование — Вакансии Oracle (указать инфу по вилке ЗП и удалёнке) Приглашайте коллег :-) Запрещены: личные оскорбления, обсуждения оффтопик вопросов политики и религии