Ana içeriğe geç

FORMAT() SQL FONKSİYONU

FORMAT(), SQL'de en sık kullanılan fonksiyonlardan biridir. Bu eğitimde başlıca kullanım alanlarını öğrenin.
· 3 dk. oku

Yapay Zeka ile Keşfedin

Veritabanı çıktıları nadiren rapora hazır olur. Fiyatlar, 1234.5 şeklinde döner; oysa siz $1,234.50 gibi bir format istersiniz. Tarihler, daha okunaklı bir şey istediğinizde 2023-02-01 04:05:06 olarak görüntülenir. 

SQL'in FORMAT() fonksiyonu faydalı olabilir. Sayıları ve tarihleri biçimlendirilmiş metne dönüştürerek çalışır ve farklı para birimleri ya da belirli özel desenler için makul düzeyde destek sunar.

Bu eğitim, sözdizimini ve dört yaygın kullanım durumunu adım adım anlatır.

FORMAT() Fonksiyonu Nedir?

FORMAT() sayıları veya tarih-saat değerlerini, nasıl görüntüleneceklerine dair kurallarla birlikte metne dönüştürür.

SQL'de FORMAT() Ne Zaman Kullanılır?

FORMAT(), tarihleri, para birimlerini ve sayısal değerleri belirli bir formatta göstermek için kullanışlıdır. 

SQL FORMAT() Sözdizimi

FORMAT(value, format[, culture])

Parameter

What is it?

Value

Biçimlendirilecek sütuna karşılık gelen zorunlu parametre 

Format

Değerin biçim desenini belirten zorunlu parametre. Bir .NET biçim dizesi içermelidir. Aşağıdaki örneklerde izin verilen çeşitli formatları göstereceğiz

Culture

Tarih/saatin yerel ayarlara duyarlı biçimlendirmesini belirten isteğe bağlı parametre.

FORMAT() Örnekleri

Örnek 1: Sayısal değişkenleri biçimlendirme

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

phone_number

0

11-222-3333

Örnek 2: Tarih-saat biçimlendirme

Tarih-saat türündeki bir değişkeni farklı formatlarda biçimlendirebiliriz.

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

Sorgu

1 Şubat 2023 04:05:06 ÖÖ için biçimlendirilmiş tarih örneği

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

Örnek 3: Kültüre duyarlı tarih biçimlendirme

Tarihleri culture parametresiyle farklı dillere göre biçimlendirebiliriz. 

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

Sorgu

1 Şubat 2023 için biçimlendirilmiş tarih örneği 

ABD İngilizcesi (en-US)

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

2/1/2023

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

Wednesday, February 1, 2023 12:00 AM

Büyük Britanya İngilizcesi (en-gb)

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

01/02/2023

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

01 February 2023 00:00

Almanca (de-de)

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

01.02.2023

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

Mittwoch, 1. Februar 2023 00:00

Çince (zh-cn)

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

2023/2/1

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

2023年2月1日 0:00

Hintçe (hi-in)

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

01-02-0203

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

01 फरवरी 2023 00:00

Rusça (ru-ru)

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

01-02-2023

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

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

İspanya (gl-es)

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

01/02/2023

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

mércores 01 febreiro 2023 00:00

Örnek 4: Para birimi biçimlendirme

Sayısal değerleri para birimi olarak da kolayca biçimlendirebiliriz.

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

Culture

Sorgu

Biçimlendirilmiş para birimi örneği

ABD İngilizcesi (en-US)

SELECT 

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

$5.5

Büyük Britanya İngilizcesi (en-gb)

SELECT 

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

£5.5

Almanca (de-de)

SELECT 

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

5,50 €

Çince (zh-cn)

SELECT 

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

¥5.50

Hintçe (hi-in)

SELECT 

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

₹5.50

Rusça (ru-ru)

SELECT 

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

5,50 ₽

İspanya (gl-es)

SELECT 

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

€5,50

Teknik Gereksinimler

FORMAT(), SQL Server (2012'den itibaren) ve Azure SQL Database'de çalışır.  FORMAT() PostgreSQL'de de çalışır ancak farklı davranır. Bunun hakkında daha fazlasını şu kursta öğrenebilirsiniz.

Ayrıca Bkz.

SQL Hakkında Daha Fazla Bilgi Edinin

Sonuç

FORMAT(), SQL'in can sıkıcı bir yönünü tek satırlık bir çözüme dönüştürdüğü için öğrenmeye değerdir.

Aklınızda bulunsun: Bu sözdizimi SQL Server ve Azure SQL içindir. PostgreSQL'in kendi FORMAT() fonksiyonu vardır ancak farklı davranır — bu kalıplara güvenmeden önce kullandığınız diyalekti kontrol edin.

Konular

İlgili