Lewati ke konten utama

FUNGSI SQL FORMAT()

FORMAT() adalah salah satu fungsi yang paling umum digunakan di SQL. Pelajari penggunaan utamanya dalam tutorial ini.
· 3 mnt Baca

Jelajahi bersama AI

Keluaran database jarang langsung siap untuk laporan. Harga sering muncul sebagai 1234.5 alih-alih $1,234.50. Tanggal tampil sebagai 2023-02-01 04:05:06 saat Anda menginginkan sesuatu yang lebih mudah dibaca. 

Fungsi FORMAT() di SQL bisa sangat berguna. Fungsinya mengubah angka dan tanggal menjadi teks berformat dan memiliki dukungan yang cukup baik untuk berbagai mata uang atau pola kustom tertentu.

Tutorial ini membahas sintaks dan empat kasus penggunaan umum.

Apa Itu Fungsi FORMAT()?

FORMAT() mengubah angka atau datetime menjadi teks, dengan aturan cara penampilannya.

Kapan Menggunakan FORMAT() di SQL

FORMAT() berguna untuk menampilkan tanggal, mata uang, dan nilai numerik dalam format tertentu. 

Sintaks SQL FORMAT()

FORMAT(value, format[, culture])

Parameter

Apa itu?

Value

Parameter wajib yang merujuk pada kolom yang akan diformat 

Format

Parameter wajib yang menentukan pola format nilai. Harus berisi string format .NET. Kami akan menjelaskan berbagai format yang diizinkan dalam contoh di bawah ini

Culture

Parameter opsional yang menentukan pemformatan tanggal/waktu yang peka lokal.

Contoh FORMAT()

Contoh 1: Memformat variabel numerik

SELECT
   FORMAT(0112223333, ‘##-###-####') -- replace format with what is shown in the table below.
 

phone_number

0

11-222-3333

Contoh 2: Memformat datetime

Kita dapat memformat variabel bertipe datetime dalam berbagai format.

DECLARE @d DATETIME = CAST('2023-02-01 04:05:06' AS DATETIME);  

SELECT
   FORMAT(@d, format) -- replace format with what is shown in the table below.

Format

Kueri

Contoh tanggal terformat untuk 1 Februari 2023 04:05:06 AM

d

FORMAT(@d, ‘d')

2/1/2023

D

FORMAT(@d, D)

Wednesday, February 1, 2023

f

FORMAT(@d, ‘f')

Wednesday, February 1, 2023 4:05 AM

F

FORMAT(@d, ‘F')

Wednesday, February 1, 2023 4:05:06 AM

g

FORMAT(@d, ‘g')

10/8/2022 6:01 AM

G

FORMAT(@d, ‘G')

10/8/2022 6:01:06 AM

O

FORMAT(@d, ‘O')

2022-10-08T06:01:06.117Z

r

FORMAT(@d, ‘r')

Wed, 01 Feb 2023 04:05:06 GMT

R

FORMAT(@d, ‘R')

Wed, 01 Feb 2023 04:05:06 GMT

s

FORMAT(@d, ‘s')

2023-02-01T04:05:06

u

FORMAT(@d, ‘u')

2023-02-01 04:05:06Z

U

FORMAT(@d, ‘U')

Wednesday, February 1, 2023 4:05:06 AM

t

FORMAT(@d, ‘t')

4:05 AM

T

FORMAT(@d, ‘T')

4:05:06 AM

Y

FORMAT(@d, ‘Y')

February 2023

MM_dd_yyyy

FORMAT(@d, ‘MM_dd_yyyy')

02_01_2023

MMM-dd-yy

FORMAT(@d,'MMM-dd-yy')

Feb 01 23

yyyy-dd-MM

FORMAT(@d,'yyyy-dd-MM')

2023-01-02

yyyy-dd-MM hh.mm

FORMAT(@d,'yyyy-dd-MM hh.mm')

2023-01-02 04.05

yyyy-dd-MM hh.mm.ss

FORMAT(@d,'yyyy-dd-MM hh.mm.ss')

2023-01-02 04.05.06

yyyy-dd-MM hh.mm.ss tt

FORMAT(@d,'yyyy-dd-MM hh.mm.ss tt')

2023-01-02 04.05.06 AM

Contoh 3: Memformat tanggal peka budaya

Kita dapat memformat tanggal ke berbagai bahasa dengan parameter culture. 

DECLARE @d DATE = CAST('2023-02-01' AS DATE);  

SELECT
   FORMAT(@d, format, culture) -- replace format with what is shown in the table below.

Culture

Kueri

Contoh tanggal terformat untuk 1 Februari 2023 

Bahasa Inggris AS (en-US)

FORMAT(@d, 'd', 'en-US') 

2/1/2023

FORMAT(@d, 'f', 'en-US') 

Wednesday, February 1, 2023 12:00 AM

Bahasa Inggris Britania (en-gb)

FORMAT(@d, 'd', 'en-gb')

01/02/2023

FORMAT(@d, 'f', 'en-gb')

01 February 2023 00:00

Bahasa Jerman (de-de)

FORMAT(@d, 'd', 'de-de') 

01.02.2023

FORMAT(@d, 'f', 'de-de') 

Mittwoch, 1. Februar 2023 00:00

Bahasa Tionghoa (zh-cn)

FORMAT(@d, 'd', 'zh-cn')

2023/2/1

FORMAT(@d, 'f', 'zh-cn')

2023年2月1日 0:00

Bahasa Hindi (hi-in)

FORMAT(@d, 'd', ‘hi-in')

01-02-0203

FORMAT(@d, 'f', ‘hi-in')

01 फरवरी 2023 00:00

Bahasa Rusia (ru-ru)

FORMAT(@d, 'd', ru-ru') 

01-02-2023

FORMAT(@d, 'f', ru-ru') 

1 февраля 2023 г. 0:00

Spanyol (gl-es)

FORMAT(@d, 'd', 'gl-es')

01/02/2023

FORMAT(@d, 'f', 'gl-es')

mércores 01 febreiro 2023 00:00

Contoh 4: Memformat mata uang

Kita juga dapat dengan mudah memformat nilai numerik menjadi mata uang.

SELECT
   FORMAT(amount, 'c', culture) -- replace format with what is shown in the table below.

Culture

Kueri

Contoh mata uang terformat

Bahasa Inggris AS (en-US)

SELECT 

   FORMAT(5.5, 'c', 'en-US') 

$5.5

Bahasa Inggris Britania (en-gb)

SELECT 

   FORMAT(@d, 'c', 'en-gb')

£5.5

Bahasa Jerman (de-de)

SELECT 

   FORMAT(@d, 'c', 'de-de') 

5,50 €

Bahasa Tionghoa (zh-cn)

SELECT 

   FORMAT(@d, 'c', 'zh-cn')

¥5.50

Bahasa Hindi (hi-in)

SELECT 

   FORMAT(@d, 'c', ‘hi-in')

₹5.50

Bahasa Rusia (ru-ru)

SELECT 

   FORMAT(@d, 'c', ru-ru') 

5,50 ₽

Spanyol (gl-es)

SELECT 

   FORMAT(@d, 'c', 'gl-es')

€5,50

Persyaratan Teknis

FORMAT() berfungsi di SQL Server (mulai 2012), Azure SQL Database.  FORMAT() juga berfungsi di PostgreSQL, tetapi berperilaku berbeda. Anda dapat mempelajari lebih lanjut dalam kursus ini.

Lihat Juga

Pelajari Lebih Lanjut tentang SQL

Kesimpulan

FORMAT() layak dipelajari karena mengubah salah satu kerepotan di SQL menjadi solusi satu baris.

Satu hal yang perlu diingat: ini adalah sintaks SQL Server dan Azure SQL. PostgreSQL memiliki fungsi FORMAT() sendiri, tetapi berperilaku berbeda — jadi pastikan dialek Anda sebelum mengandalkan pola ini.

Topik

Terkait

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

blogs

Tutorial Korelasi di R

blogs

Spaghetti Plot dan Jalur Badai