Sql Server tarih formatı değiştirme hakkında
Merhaba,
Tarihler 'Sql Server'da data tipi "smalldatetime" olarak saklanmaktadır.
Ben sorguyu ajax ile gönderip json olarak alıyorum. Fakat "yyyy-mm-dd" formatında alamıyorum.
Bu konuda yardımcı olabilir misiniz?
Not: Aşağıdaki "CAST" ve "CONVERT" sorgularını Microsoft Sql Server Managament ile sorguladığımda "yyyy-mm-dd" formatında alıyorum.
Php ile yapılan sorguda json gibi bir cevap alıyorum.
<?php
...
$yevmiyeSorgu = "SELECT CAST(Fistar as date) as Fistar,
CONVERT(date, Evraktarihi) as Evraktarihi
FROM [yevmiye] where month(fistar) = '$Ayindex'";
$result = sqlsrv_query($db, $yevmiyeSorgu);
$dizi = array();
while ($row1 = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC)) {
$dizi[] = $row1;
}
echo json_encode($dizi);
...
?>
[
"Fistar":{
"date":"2019-12-06 00:00:00.000000",
"timezone_type":3,
"timezone":"UTC"
},
"Evraktarihi":{
"date":"2019-12-06 00:00:00.000000",
"timezone_type":3,
"timezone":"UTC"}
}
]
İlginiz için teşekkür ederim. Fakat işime yarasa bile ben dizi içine entegre edebilir miyim bilmiyorum? Denedim beceremedim :)
Muhasebe bürosunda çalışıyorum işimle alakalı muhasebe programının yetersiz kaldığı yerlerde kendim web uygulaması ile bu yaşadığım sorunları çözmek için kullanıyorum.
Ben araştırmalarım sonucu sorunu çözebildim.
Sorguda tarihleri CONVERT(varchar, tarih, 23) as tarih
şeklinde ayarlayınca istediğim sonuca ulaşabildim.
...
$yevmiyeSorgu = "SELECT CONVERT(varchar, Fistar, 23) as Fistar,
CONVERT(varchar, Evraktarihi, 23) as Evraktarihi
FROM [yevmiye] where month(fistar) = '$Ayindex'";
$result = sqlsrv_query($db, $yevmiyeSorgu);
$dizi = array();
while ($row1 = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC)) {
$dizi[] = $row1;
}
echo json_encode($dizi);
...
Json Sonuç:
[
{"Fistar":"2020-09-30","Evraktarihi":"2020-09-03"},
{"Fistar":"2020-09-30","Evraktarihi":"2020-09-03"},
{"Fistar":"2020-09-30","Evraktarihi":"2020-09-03"}
]