Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да върнете дробни секунди от стойност на дата и час в Oracle

Когато използвате Oracle Database, можете да използвате TO_CHAR(datetime) функция за връщане на различни части от стойност за дата и час, включително частични секунди.

За да върнете част от секунди от стойност за дата и час, използвайте FF форматен елемент.

Пример

Ето пример за демонстрация:

SELECT 
    TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'FF')
FROM DUAL;

Резултат:

123456789

Възможно е също да се ограничи прецизността чрез добавяне на число към FF част:

SELECT 
    TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'FF5')
FROM DUAL;

Резултат:

12345

Числото може да бъде 1 до 9 .

Добави частта за секундите

В горните примери върнах само частта от секундите и нищо друго.

Можем да включим секундната част, както и дробните секунди. За да направите това, използвайте SS . Можем също да използваме X за да посочите основния символ (символът, използван за разделяне на цялата част от дробната част):

SELECT 
    TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'SSXFF')
FROM DUAL;

Резултат:

37.123456789

Въпреки че бихте могли изрично да предоставите свой собствен основен знак – например точка (.) ), X Елементът format може да бъде полезен за пренасяне на различни езици/територии.

Когато стартирах горните примери, моят NLS_TERRITORY параметърът е зададен на AUSTRALIA , което е довело до символа за основа, който е точка.

Ето какво се случва, когато променя моята NLS_TERRITORY параметър към GERMANY :

ALTER SESSION SET NLS_TERRITORY = 'GERMANY';

SELECT 
    TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'SSXFF')
FROM DUAL;

Резултат:

37,123456789

Сега символът за основа е запетая.

Всъщност това е NLS_NUMERIC_CHARACTERS параметър, който определя кой знак се използва за знака за основа. Въпреки това, промяна на NLS_TERRITORY параметърът имплицитно променя NLS_NUMERIC_CHARACTERS параметър. Можете също така изрично да актуализирате NLS_NUMERIC_CHARACTERS параметър, ако предпочитате, в този случай вашият NLS_TERRITORY параметърът ще остане непроменен.

Вижте списък с елементи за формат на дата и час в Oracle за пълен списък с елементи на формат, които могат да се използват за форматиране на стойности за дата и час.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да създадете ненулево ограничение в oracle

  2. Каква е разликата между 'YYYY' и 'RRRR' в Oracle SQL

  3. Задаване на часова зона на сесията с spring jdbc oracle

  4. Намиране на пропуски в последователността в таблица в Oracle

  5. Създайте критерии за хибернация, за да се присъедините към една и съща таблица два пъти - опитах 2 подхода с 2 грешка в разликата