[]
sql tarih
şimdi elimdeki veride tarihler. 542 bin satır. DATETIME şeklinde. Ben bunları int hale getirip yan kolona yazdırdım.iş şurada karışıyor; siz mesela 20150217 yazınca ekrana 20150201 ve 20150217 arasındaki bütün tabloyu getirsin istiyorum. yani yazdığınız tarih ile o ayın ilk günü arasındaki veri gelsin.Bunu nasıl yapabilirim? ssis ile olur.
@haci, ilk tarihi elle yazmamam lazım ekrana. ben ikincisini yazdığımda sistem otomatikman 1 şubat 2015 ile şubat ayında yazdığım aralığı getirmeli.
örnek;
yazdığım; 20150217
ekrana gelmesi gereken; 20150201 ve 20150217 arasındaki tüm veriler.
örnek;
yazdığım; 20150217
ekrana gelmesi gereken; 20150201 ve 20150217 arasındaki tüm veriler.
- kırmızıgözlüağaçkurbağasıyeşili (02.02.18 11:48:03)
Neden int haline getirme ihtiyaci duydun? Gerekli mi?
- fakyoras (02.02.18 11:51:15)
datetime üzerinden ilerleyebiliriz sorun yok.
- kırmızıgözlüağaçkurbağasıyeşili (02.02.18 11:54:41)
soyle yapabilirsin tek tarih varsa elinde, ayrica search yaptigin datetime_field'in indexli olmasi gerektigini biliyorsun degil mi?
SELECT *
FROM table
WHERE (datetime_field BETWEEN DATE_FORMAT('2015-02-17','%Y-%m-01') AND '2015-02-17')
SELECT *
FROM table
WHERE (datetime_field BETWEEN DATE_FORMAT('2015-02-17','%Y-%m-01') AND '2015-02-17')
- hacilaklak (02.02.18 12:07:45 ~ 12:08:04)
Select trunc(tarih1) -(to_number(to_char(tarih1,’DD’))-1) from dual
Oracle’da bu sekilde. Fonksiyonlarin sql server halini bulursan orda da calisir diye tahmin ediyorum
Where’ e between yukardaselectteolansey and tarih1 diye koyarsin. Tarih1i verince ikisine de bakar
Oracle’da bu sekilde. Fonksiyonlarin sql server halini bulursan orda da calisir diye tahmin ediyorum
Where’ e between yukardaselectteolansey and tarih1 diye koyarsin. Tarih1i verince ikisine de bakar
- fakyoras (02.02.18 12:12:28 ~ 12:14:18)
girilen tarihin aynının ilk gününü mü bulmak istiyorsun? bunu DATEADD(MONTH, DATEDIFF(MONTH, 0, tarih_parametresi), 0) ile bulabilirsin.
DECLARE @TARIH_PARAMETRESI DATETIME
SET @TARIH_PARAMETRESI = '20180123' -- bu gün tamamen dahil olsun istiyorsan ve tarih alanın saat içeriyorsa FORMAT('23.01.2018 23:59:59', 'dd.MM.yyyy HH:mm:ss') şeklinde kullanmalısın
SELECT *
FROM TABLOMUZ
WHERE TARIH_ALANIMIZ BETWEEN DATEADD(MONTH, DATEDIFF(MONTH, 0, @TARIH_PARAMETRESI), 0) AND @TARIH_PARAMETRESI
DECLARE @TARIH_PARAMETRESI DATETIME
SET @TARIH_PARAMETRESI = '20180123' -- bu gün tamamen dahil olsun istiyorsan ve tarih alanın saat içeriyorsa FORMAT('23.01.2018 23:59:59', 'dd.MM.yyyy HH:mm:ss') şeklinde kullanmalısın
SELECT *
FROM TABLOMUZ
WHERE TARIH_ALANIMIZ BETWEEN DATEADD(MONTH, DATEDIFF(MONTH, 0, @TARIH_PARAMETRESI), 0) AND @TARIH_PARAMETRESI
- altinci nesil caylak (02.02.18 13:36:52 ~ 13:48:18)
1