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

Как TO_CHAR() работи в MariaDB

В MariaDB, TO_CHAR() е вградена низова функция, която преобразува израз за дата/час в низ.

Изразът може да бъде стойност за дата, дата, час или време.

Тази функция е въведена в MariaDB 10.6.1 за подобряване на съвместимостта с Oracle.

Синтаксис

Синтаксисът е така:

TO_CHAR(expr[, fmt]) 

Където expr е стойност за дата, час, час или времеви клей и fmt е незадължителен низ за форматиране, който указва как трябва да бъде форматиран изходът.

Низът за формат може да бъде някое от следните:

  • YYYY
  • YYY
  • YY
  • RRRR
  • RR
  • MM
  • MON
  • MONTH
  • MI
  • DD
  • DY
  • HH
  • HH12
  • HH24
  • SS
  • Специални знаци

Стойността по подразбиране е YYYY-MM-DD HH24:MI:SS .

Пример

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

SELECT TO_CHAR('2020-01-01'); 

Резултат:

<пред>+-----------------------+| TO_CHAR('2020-01-01') |+-----------------------+| 2020-01-01 00:00:00 |+-----------------------+

Предаване на стойност за дата и час

Този пример използва стойност за дата и час:

SELECT TO_CHAR('2022-12-25 10:30:45'); 

Резултат:

+--------------------------------+| TO_CHAR('2022-12-25 10:30:45') |+--------------------------------+ | 2022-12-25 10:30:45 |+--------------------------------+

Посочете низ за формат

Ето пример с низ за формат:

SELECT TO_CHAR('2022-12-25 10:30:45', 'YYYY-MM-DD'); 

Резултат:

+------------------------------------------------------- +| TO_CHAR('2022-12-25 10:30:45', 'ГГГГ-ММ-ДД') |+------------------------- ---------------------+| 2022-12-25 |+--------------------------------------------------- ---+

Ето още един:

SELECT TO_CHAR('2022-12-25', 'DY, DD MONTH YYYY'); 

Резултат:

+----------------------------------------------+| TO_CHAR('2022-12-25', 'DY, DD MONTH YYYY') |+------------------------------ --------------+| нд, 25 декември 2022 г. |+--------------------------------------------------- -+

Числови дати

Ето какво се случва, когато предоставя цифрова дата:

SELECT TO_CHAR(20200101); 

Резултат:

ГРЕШКА 3047 (HY000):Грешка с невалиден аргумент:типът данни на първия аргумент трябва да бъде тип дата/дата/час или низ във функция to_char.

Невалидни дати

Ако датата е невалидна, TO_CHAR() връща null с предупреждение:

SELECT TO_CHAR('2020-01-51'); 

Резултат:

<пред>+-----------------------+| TO_CHAR('2020-01-51') |+-----------------------+| NULL |+-----------------------+1 ред в комплект, 1 предупреждение (0,001 сек)

Нека проверим предупреждението:

SHOW WARNINGS; 

Резултат:

+--------+------+---------------------------- -----------+| Ниво | Код | Съобщение |+---------+------+------------------------------ ----------+| Предупреждение | 1292 | Неправилна стойност за дата и час:'2020-01-51' |+---------+------+-------------------- --------------------+

Невалиден форматен низ

Ако низът за формат е невалиден, TO_CHAR() връща грешка:

SELECT TO_CHAR('2020-01-01', 'wow'); 

Резултат:

ГРЕШКА 3047 (HY000):Грешка с невалиден аргумент:форматът на датата не е разпознат при wow във функция to_char.

Нулев формат на низ

TO_CHAR() връща null ако форматиращият низ е null :

SELECT TO_CHAR('2020-01-01', null); 

Резултат:

+----------------------------+| TO_CHAR('2020-01-01', null) |+----------------------------+| NULL |+-----------------------------+

Невалиден брой аргументи

Предаването на невалиден брой аргументи (или без аргументи) води до грешка:

SELECT TO_CHAR(); 

Резултат:

ГРЕШКА 1582 (42000):Неправилен брой на параметрите в извикването на естествена функция „TO_CHAR“

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

  2. Разширено отказване с помощта на кукички за пост/предварителен скрипт

  3. Как LPAD() работи в MariaDB

  4. Архивиране на база данни - Сравняване на MariaDB Mariabackup и Percona Xtrabackup

  5. MariaDB JSON_MERGE() Обяснено