MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

Bagaimana TO_CHAR() Bekerja di MariaDB

Di MariaDB, TO_CHAR() adalah fungsi string bawaan yang mengubah ekspresi tanggal/waktu menjadi string.

Ekspresi dapat berupa tanggal, tanggal, waktu, atau nilai stempel waktu.

Fungsi ini diperkenalkan di MariaDB 10.6.1 untuk meningkatkan kompatibilitas Oracle.

Sintaks

Sintaksnya seperti ini:

TO_CHAR(expr[, fmt])

Dimana expr adalah tanggal, tanggal waktu, waktu, atau nilai stempel waktu, dan fmt adalah string format opsional yang menentukan bagaimana output harus diformat.

Format string dapat berupa salah satu dari berikut ini:

  • YYYY
  • YYY
  • YY
  • RRRR
  • RR
  • MM
  • MON
  • MONTH
  • MI
  • DD
  • DY
  • HH
  • HH12
  • HH24
  • SS
  • Karakter khusus

Nilai defaultnya adalah YYYY-MM-DD HH24:MI:SS .

Contoh

Berikut ini contoh untuk didemonstrasikan:

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

Hasil:

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

Meneruskan Nilai Tanggal-waktu

Contoh ini menggunakan nilai datetime:

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

Hasil:

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

Tentukan Format String

Berikut ini contoh dengan format string:

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

Hasil:

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

Ini satu lagi:

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

Hasil:

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

Tanggal Numerik

Inilah yang terjadi ketika saya memberikan tanggal numerik:

SELECT TO_CHAR(20200101);

Hasil:

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

Tanggal Tidak Valid

Jika tanggal tidak valid, TO_CHAR() mengembalikan null dengan peringatan:

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

Hasil:

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

Mari kita periksa peringatannya:

SHOW WARNINGS;

Hasil:

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

Format String Tidak Valid

Jika format string tidak valid, TO_CHAR() mengembalikan kesalahan:

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

Hasil:

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

String Format Null

TO_CHAR() mengembalikan null jika format string adalah null :

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

Hasil:

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

Jumlah Argumen Tidak Valid

Melewati sejumlah argumen yang tidak valid (atau tidak ada argumen) menghasilkan kesalahan:

SELECT TO_CHAR();

Hasil:

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. Bagaimana FLOOR() Bekerja di MariaDB

  2. Bagaimana SYS_GUID() Bekerja di MariaDB

  3. Menggunakan Sysbench untuk Menghasilkan Data Uji untuk Tabel Sharded di MySQL

  4. MariaDB USER() Dijelaskan

  5. Bagaimana TO_DAYS() Bekerja di MariaDB