Oracle
 sql >> Baza danych >  >> RDS >> Oracle

jak wstawić aktualną datę do pola DATE w formacie dd/mm/rrrr w Oracle

DATE jest wbudowanym typem w Oracle, który jest reprezentowany w ustalony sposób i nie masz nad nim kontroli.

A więc:

Chcę to wstawić [...] jako 08/01/2011 12:00:00 AM

Powyższe jest bezsensowne. Nie wstawiasz ciągu, tylko wstawiasz datę.

Format jest przydatny tylko wtedy, gdy chcesz:

  • przekonwertować ciąg na wewnętrzną reprezentację daty za pomocą TO_DATE (maska ​​formatu:jak analizować ciąg);
  • przekonwertować wewnętrzną reprezentację daty na ciąg znaków za pomocą TO_CHAR (maska ​​formatu:jak renderować datę).

Tak więc w twoim przykładzie bierzesz DATĘ, konwertujesz ją na STRING z jakimś formatem i konwertujesz z powrotem na DATĘ w tym samym formacie. To jest zakaz.

Teraz, co wyświetla twój klient:dzieje się tak dlatego, że twój klient Oracle nie wyświetla bezpośrednio pól DATE, a warstwa NLS skonwertuje dowolne wybrane pole DATE. Tak więc domyślnie zależy to od lokalizacji.

To, czego potrzebujesz, to SELECT TO_CHAR(SYSDATE,'DD/MM/YYYY') FROM dual; który jawnie wykona konwersję i zwróci ciąg znaków.

A kiedy chcesz wstawić datę do bazy danych, możesz użyć TO_DATE lub literały daty.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Instalowanie formularzy i raportów Oracle 11g w wersji 2

  2. Łączenie Oracle z SQL Server przez bezpieczne połączenie

  3. Jak stworzyć tabelę w Oracle SQL Developer?

  4. Jak używać Distributed AD, aby skrócić czas instalowania poprawek w Oracle EBS?

  5. Używanie Dappera z Oracle