Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara Mendapatkan Nama Bulan Pendek dari Tanggal di MySQL

Di MySQL, Anda dapat menggunakan DATE_FORMAT() fungsi dengan %b penentu format untuk mengembalikan nama bulan pendek. Misalnya, Anda dapat mengembalikan Jan atau Feb bukannya January atau February .

Contoh

SELECT DATE_FORMAT('2035-01-18', '%b');

Hasil:

Jan

Berikut ini contoh lain yang berjalan melalui berbagai bulan dalam setahun:

SELECT 
    DATE_FORMAT('2035-01-18', '%b') AS "1",
    DATE_FORMAT('2035-02-18', '%b') AS "2",
    DATE_FORMAT('2035-03-18', '%b') AS "3",
    DATE_FORMAT('2035-04-18', '%b') AS "4",
    DATE_FORMAT('2035-05-18', '%b') AS "5",
    DATE_FORMAT('2035-06-18', '%b') AS "6",
    DATE_FORMAT('2035-07-18', '%b') AS "7",
    DATE_FORMAT('2035-08-18', '%b') AS "8",
    DATE_FORMAT('2035-09-18', '%b') AS "9",
    DATE_FORMAT('2035-10-18', '%b') AS "10",
    DATE_FORMAT('2035-11-18', '%b') AS "11",
    DATE_FORMAT('2035-12-18', '%b') AS "12";

Hasil (menggunakan keluaran vertikal):

 1: Jan
 2: Feb
 3: Mar
 4: Apr
 5: May
 6: Jun
 7: Jul
 8: Aug
 9: Sep
10: Oct
11: Nov
12: Dec

Anda juga dapat mengembalikan unit tanggal dan waktu lainnya, tetapi artikel ini adalah tentang mengembalikan nama bulan pendek.

Lihat Penentu Format Tanggal MySQL untuk daftar penentu format yang dapat digunakan dengan DATE_FORMAT() .

Singkat Nama Bulan Penuh

Jika Anda perlu mempersingkat nama bulan penuh, Anda selalu dapat menggunakan fungsi seperti LEFT() untuk mengembalikan hanya tiga karakter pertama (atau sebanyak yang Anda butuhkan).

Contoh:

SELECT 
    DATE_FORMAT('2035-09-18', '%M') AS Full,
    LEFT(DATE_FORMAT('2035-09-18', '%M'), 3) AS Short;

Hasil:

+-----------+-------+
| Full      | Short |
+-----------+-------+
| September | Sep   |
+-----------+-------+

Sebagai alternatif, kita dapat menggunakan fungsi seperti CAST() untuk mengkonversi ke tipe data dengan hanya tiga karakter, seperti ini:

SELECT 
    DATE_FORMAT('2035-09-18', '%M') AS Full,
    CAST(DATE_FORMAT('2035-09-18', '%M') AS CHAR(3)) AS Short;

Hasil:

+-----------+-------+
| Full      | Short |
+-----------+-------+
| September | Sep   |
+-----------+-------+
1 row in set, 1 warning (0.00 sec)

Dalam hal ini, kami mendapat peringatan karena kami memotong nilai yang lebih panjang:

show warnings;

Hasil:

+---------+------+------------------------------------------------+
| Level   | Code | Message                                        |
+---------+------+------------------------------------------------+
| Warning | 1292 | Truncated incorrect CHAR(3) value: 'September' |
+---------+------+------------------------------------------------+

Mempersingkat nama bulan seperti ini bisa jadi baik-baik saja saat bekerja dengan bahasa seperti bahasa Inggris, tetapi perhatikan bahwa itu mungkin tidak mengembalikan hasil yang sama seperti saat menggunakan %b penentu format.

Untuk mendemonstrasikan apa yang saya maksud, inilah yang terjadi ketika saya mengalihkan sesi saya untuk menggunakan bahasa Thailand:

SET lc_time_names = 'th_TH';
SELECT 
    DATE_FORMAT('2023-10-25', '%M') AS Full,
    LEFT(DATE_FORMAT('2023-10-25', '%M'), 3) AS Truncated,
    DATE_FORMAT('2023-10-25', '%b') AS Short;

Hasil:

+--------------------+-----------+----------+
| Full               | Truncated | Short    |
+--------------------+-----------+----------+
| ตุลาคม             | ตุล        | ต.ค.     |
+--------------------+-----------+----------+

Memotong nama bulan penuh mengembalikan hasil yang berbeda dari menggunakan %b penentu format untuk mengembalikan nama bulan pendek.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dukungan PDO untuk beberapa kueri (PDO_MYSQL, PDO_MYSQLND)

  2. Perbedaan MySql antara dua cap waktu dalam beberapa hari?

  3. MySQL Menyukai banyak nilai

  4. Fungsi MySQL LEAST() – Temukan Argumen Terkecil dalam Daftar Argumen

  5. Cara Menghapus Nilai Default Kolom di MySQL