CONVERT(varchar(20), CAST(TBLMCEK.TUTAR AS money), 1) AS Tutar  //12,340.00

.Text.Replace(",", "").Replace(".", ",") 

 

 

INSER INTO Tablo() OUTPUT INSERTED.SIP_ID VALUES() 

 

CASE
WHEN TBLMCEK.SC_YERI = 'P' THEN 'Portföy'
WHEN TBLMCEK.SC_YERI = 'T' THEN 'Tahsil'
WHEN TBLMCEK.SC_YERI = 'E' THEN 'Teminat'
WHEN TBLMCEK.SC_YERI = 'C' THEN 'Ciro'
ELSE '-'
END AS Yeri, 

 

 SQL Serverda parasal tutarlar nasıl 99560,50 şeklinden  “99.560,50 TL” şekline kolayca formatlanabilir :

 

SELECT CARI_KOD, CARI_ISIM

CONVERT(VARCHAR,cast(SUM(BORC) AS MONEY),-1) + ‘ TL’     AS  TopBorc,

FROM CARI_HESAP_DOKUMU

 

–Bir önceki ayın son günü

SELECT  DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE()),0)) AS ONCEKI_AYIN_SONGUNU

 

–Şu anki ayın son günü

SELECT  DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE())+1,0)) AS SU_ANKI_AYIN_SONGUNU

 

–Sonraki ayın son günü bul

SELECT  DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE())+2,0)) AS SONRAKI_AYIN_SONGUNU

 

//ayın son günü bulma

//CONVERT(….,102) ile tarihi sade hale dönüştür (2011.03.25 gibi) yoksa 2011.03.25 23:59:59 olur

DECLARE @TARIH1 DATETIME
SET @TARIH1 = ’8/18/2011′
SELECT  CONVERT(VARCHAR(25),DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,@TARIH1)+1,0)),102) AS AYIN_SON_GUNU

//ayın ilk gününü bulma

SELECT CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(@TARIH1)-1),@TARIH1),102) AS AYIN_ILK_GUNU

 

//yılın ilk gününü bulma

SELECT CONVERT(VARCHAR,dateadd(year, datediff(year, ”, @TARIH1),”),102) AS YILIN_ILK_GUNU

 

//yılın son gününü

SELECT CONVERT(VARCHAR,dateadd(dd, 364, DATEADD(year, datediff(year, ”,@TARIH1),”)),102) AS YILIN_SON_GUNU

 

//sadece tarih bilgisi lazım olur :

SELECT CONVERT( VARCHAR, DATEADD(DAY,-0,GETDATE()) ,102) AS TARIH

 

//SQL CASE kullanımı

SELECT hg.*,

CASE
WHEN MDoviz = 'EUR' THEN (Convert(decimal(18,4),(SELECT TOP 1 kr.EURA FROM Kurlar kr WHERE KDate >= HDate)))
WHEN MDoviz = 'USD' THEN (Convert(decimal(18,4),(SELECT TOP 1 kr.USDA FROM Kurlar kr WHERE KDate >= HDate)))
ELSE 1
END AS Kur,

 

CASE
WHEN MDoviz = 'EUR' THEN (Convert(decimal(18,2),(SELECT TOP 1 kr.EURA FROM Kurlar kr WHERE KDate >= HDate)*MFiyat))
WHEN MDoviz = 'USD' THEN (Convert(decimal(18,2),(SELECT TOP 1 kr.USDA FROM Kurlar kr WHERE KDate >= HDate)*MFiyat))
ELSE 1*MFiyat
END AS TutarTL,

(SELECT u.Adi FROM Ulkeler u WHERE u.ULK_ID=hg.VARIS_ID) as Varis  

FROM HizliGirisler hg Where YIYD=1 

  

----- Bir tabloda tüm kullanıcıların tüm girişleri tutuluyor(dt,dv,usern), ama ben bir kullanıcının en son giriş yaptıgı cihaz nosunu almak istiyorum ----

 

WITH cte AS (SELECT *, CIH_ID as nCIH_ID FROM cihazlar)

SELECT a.CIH_ID, a.dt, a.dv, a.usern 

FROM cte a LEFT JOIN cte b

  ON a.usern=b.usern

 AND (a.nCIH_ID < b.nCIH_ID OR 

     (a.nCIH_ID = b.nCIH_ID AND a.dv<b.dv))

WHERE b.CIH_ID IS NULL and len(a.dv)>5

order by usern,dt,dv