Reputation: 1
i tried to this query. but its not running. how can i do?
SELECT dbo.isemri_data.sipnum,
dbo.kayitlar.id,
dbo.kayitlar.makina_id,
dbo.kayitlar.personel,
dbo.kayitlar.isemrino,
dbo.kayitlar.tarih,
dbo.kayitlar.gercek_hiz,
dbo.kayitlar.durus_kod,
dbo.kayitlar.miktar,
dbo.kayitlar.fire
FROM dbo.isemri_data
LEFT OUTER JOIN dbo.kayitlar
ON dbo.isemri_data.isemrino = dbo.kayitlar.isemrino
WHERE CONVERT(VARCHAR(10), dbo.kayitlar.tarih, 104) BETWEEN
CONVERT(VARCHAR(10), '12.08.2015', 104) AND
CONVERT(VARCHAR(10), '19.08.2015', 104)
AND CONVERT(VARCHAR(3), dbo.kayitlar.makina_id) = 'M1'
AND dbo.kayitlar.isemrino LIKE '%'
if delete
CONVERT(varchar(10),dbo.KAYITLAR.TARIH,104) BETWEEN convert(varchar(10),'12.08.2015',104) and convert(varchar(10),'19.08.2015',104)
query is running.
or if run to only main table allready running my query.
i cant find what is the problem.
Upvotes: 0
Views: 87
Reputation: 1
i found answer. if i use
dbo.kayitlar.tarih BETWEEN CONVERT(DATETIME, '12.08.2015', 104) AND CONVERT(DATETIME, '19.08.2015', 104)
running query.
thanx for your help
Upvotes: 0
Reputation: 69564
Since you have mentioned the data type is Datetime , DO NOT convert it to anything else in there where clause, do it in select if you want to.
SELECT dbo.isemri_data.sipnum,
dbo.kayitlar.id,
dbo.kayitlar.makina_id,
dbo.kayitlar.personel,
dbo.kayitlar.isemrino,
dbo.kayitlar.tarih,
dbo.kayitlar.gercek_hiz,
dbo.kayitlar.durus_kod,
dbo.kayitlar.miktar,
dbo.kayitlar.fire
FROM dbo.isemri_data
LEFT OUTER JOIN dbo.kayitlar
ON dbo.isemri_data.isemrino = dbo.kayitlar.isemrino
AND dbo.kayitlar.tarih >= '20150812' -- use ANSI date YYYYMMDD
AND dbo.kayitlar.tarih <= '20150819' -- use ANSI date YYYYMMDD
AND CONVERT(VARCHAR(3), dbo.kayitlar.makina_id) = 'M1'
AND dbo.kayitlar.isemrino LIKE '%'
Converting your datetime to a string means sql server treats them values as strings and not a date/datetime values hence you will get unexpected results Also sql server will not be able to make use of any indexes defined on that column if there are any.
Keep date/datetime values as it is and change the format of date in presentation layer for more easy to eyes date/datetime format.
Upvotes: 1