Forum

Bildirimler
Hepsini Temizle

Sql Saat Sorgusu

Murat Bakar
(@MuratBakar)
Üye

Merhaba,

Tablomda 0700 cinsinde saat bilgim mevcut. Ben 1 gün yani 24 saat içinde yapılan üretim adedini bulmak istiyorum. Mesai başlandıç saati 07:30, bu değerin üzerine 24 saat ekleyerek arasındaki üretim adetlerini alacak sorguyu oluşturamadım. 

SELECT MIKTAR FROM STOK_ADT WHERE TARIH >= '2016/11/17' AND TARIH <= '2016/11/18' AND TLOG_LOGTIME >= '0700' AND TLOG_LOGTIME <= '0700' 

Konu hakkında bilgisi olan var mıdır?

İyi çalışmalar,

Alıntı
Konu başlatıcı Gönderildi : 18/11/2016 12:19
Birol AYDOĞAN
(@birolaydugan)
Üye

BETWEEN kullanın .

CevapAlıntı
Gönderildi : 18/11/2016 21:50
Murat Bakar
(@MuratBakar)
Üye

Tarih ve saat ayrı hücrelerde sadece tarih olsaydı Between kullanabilirdim. 

CevapAlıntı
Konu başlatıcı Gönderildi : 18/11/2016 22:32
Engin Kulaç
(@enginkulac)
Üye

Saati kaydettirdiğiniz sutunun formatı nedir?

CevapAlıntı
Gönderildi : 19/11/2016 20:42
Birol AYDOĞAN
(@birolaydugan)
Üye

Format datetime ise convert edip between kullanabilirsin.

CevapAlıntı
Gönderildi : 20/11/2016 19:52
Burak Şentürk
(@BurakSenturk)
Üye

Merhaba,

 

DECLARE @ORNEKTARIH datetime = '2016-11-20 0900'

select  MIKTAR  FROM STOK_ADT

WHERE CAST(TARIH AS datetime) + CAST (TLOG_LOGTIME AS datetime) > @ORNEKTARIH AND CAST(TARIH AS datetime) + CAST (TLOG_LOGTIME AS datetime) <= DATEADD(DAY,1,@ORNEKTARIH)

 

temiz yazamadım kusuruma bakma ama şöyle bir yapı sanırım bahsettiğin,

 

İyi Günler Dilerim,

CevapAlıntı
Gönderildi : 21/11/2016 18:53
Volkan Alkılıç
(@volkanalkilic)
Üye

Deneyiniz;

DECLARE @p0 DateTime = '2016-12-13 0700.000'
DECLARE @p1 Float = -1

SELECT [t0].[MIKTAR ]
FROM [STOK_ADT] AS [t0]
WHERE (([t0].[TARIH]) >= @p0) AND (DATEADD(ms, (CONVERT(BigInt,@p1 * 86400000)) % 86400000, DATEADD(day, (CONVERT(BigInt,@p1 * 86400000)) / 86400000, [t0].[TARIH])) <= @p0)

CevapAlıntı
Gönderildi : 13/12/2016 14:49
Paylaş: