Herkese merhaba,

Bu yazıda SQL Server’da tarih doğrulatmak ile ilgili bilgi vermeye çalışacağım.

SQL Server’da bazı durumlarda girilen tarihin geçerli bir tarih olduğunu öğrenmek isteyebilirsiniz. Şöyle ki; 31092022 tarihi (aralarında nokta olmadan belirtilmiş bir tarih ifadesi) normalde yok. Ekim ayı 30 gün süren bir aydır.

Aşağıdaki kodu kullanarak siz de bu işlemi rahatlıkla yapabilirsiniz.

DECLARE @input_str VARCHAR(25);
DECLARE @output_dt DATE;
SET @input_str = '31092022';

IF LEN(@input_str) >= 8
BEGIN
    DECLARE @date_str VARCHAR(25);
    SELECT @date_str
        = SUBSTRING(@input_str, 1, 2) + '.' + SUBSTRING(@input_str, 3, 2) + '.' + SUBSTRING(@input_str, 5, 4);

    BEGIN TRY
        SELECT @output_dt = CONVERT(DATE, @date_str, 104);
    END TRY
    BEGIN CATCH
    END CATCH;
END;

SELECT @output_dt;

Yukarıdaki kodu çalıştırınca aşağıdakine benzer bir sonuç göreceksiniz.

SQL Server'da Tarih Doğrulatmak

Görüldüğü üzere tarih olup olmadığı doğrulanmış oldu.

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

185 Kez Okundu

Kategoriler: