MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

Jak TO_CHAR() działa w MariaDB?

W MariaDB, TO_CHAR() jest wbudowaną funkcją ciągu, która konwertuje wyrażenie daty/czasu na ciąg.

Wyrażenie może być wartością daty, daty i godziny, godziny lub znacznika czasu.

Ta funkcja została wprowadzona w MariaDB 10.6.1 w celu zwiększenia zgodności z Oracle.

Składnia

Składnia wygląda tak:

TO_CHAR(expr[, fmt])

Gdzie expr jest wartością daty, daty i godziny, czasu lub znacznika czasu oraz fmt jest opcjonalnym ciągiem formatu, który określa sposób formatowania danych wyjściowych.

Ciąg formatu może być jednym z następujących:

  • YYYY
  • YYYY
  • YY
  • YYYY
  • YY
  • MM
  • MON
  • MONTH
  • MI
  • DD
  • DY
  • HH
  • HH12
  • HH24
  • SS
  • Znaki specjalne

Wartość domyślna to YYYY-MM-DD HH24:MI:SS .

Przykład

Oto przykład do zademonstrowania:

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

Wynik:

+-----------------------+
| TO_CHAR('2020-01-01') |
+-----------------------+
| 2020-01-01 00:00:00   |
+-----------------------+

Przekaż wartość daty i godziny

W tym przykładzie użyto wartości daty i godziny:

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

Wynik:

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

Określ ciąg formatu

Oto przykład z ciągiem formatu:

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

Wynik:

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

Oto kolejny:

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

Wynik:

+--------------------------------------------+
| TO_CHAR('2022-12-25', 'DY, DD MONTH YYYY') |
+--------------------------------------------+
| Sun, 25 December  2022                     |
+--------------------------------------------+

Daty numeryczne

Oto, co się dzieje, gdy podam datę liczbową:

SELECT TO_CHAR(20200101);

Wynik:

ERROR 3047 (HY000): Invalid argument error: data type of first argument must be type date/datetime/time or string in function to_char.

Nieprawidłowe daty

Jeśli data jest nieprawidłowa, TO_CHAR() zwraca null z ostrzeżeniem:

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

Wynik:

+-----------------------+
| TO_CHAR('2020-01-51') |
+-----------------------+
| NULL                  |
+-----------------------+
1 row in set, 1 warning (0.001 sec)

Sprawdźmy ostrzeżenie:

SHOW WARNINGS;

Wynik:

+---------+------+----------------------------------------+
| Level   | Code | Message                                |
+---------+------+----------------------------------------+
| Warning | 1292 | Incorrect datetime value: '2020-01-51' |
+---------+------+----------------------------------------+

Nieprawidłowy ciąg formatujący

Jeśli ciąg formatu jest nieprawidłowy, TO_CHAR() zwraca błąd:

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

Wynik:

ERROR 3047 (HY000): Invalid argument error: date format not recognized at wow in function to_char.

Ciąg formatu pustego

TO_CHAR() zwraca null jeśli ciąg formatu to null :

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

Wynik:

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

Nieprawidłowa liczba argumentów

Przekazanie nieprawidłowej liczby argumentów (lub brak argumentów) skutkuje błędem:

SELECT TO_CHAR();

Wynik:

ERROR 1582 (42000): Incorrect parameter count in the call to native function '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. Jak działa funkcja LOWER() w MariaDB

  2. Zwróć liczbę dni w miesiącu w MariaDB

  3. Jak LAST_DAY() działa w MariaDB

  4. MariaDB do wprowadzenia TO_CHAR()

  5. Jak działa IFNULL() w MariaDB