Soran
sql server metin alanını sayı alanına çevirme

Genel Tartışma
-
Cümleten iyi akşamlar arkadaşlar. Bir sorum olacaktı.
Mikro'daki bir veriyi (açıklama kısmına sayı girdiğimiz bir alanı) sql server ile excele atıyorum. Mikroda açıklama kısmına sayı giriyorum. Şimdi yapmak istediğim şu girdiğim o sayıyı herhangi bir alanla çarptırmak istiyorum veya bir rakamla olmuyor. Metin olan alanı nasıl sayı alanına dönüştürebilirm. Teşekkürler. saygılarımla,
- Değiştirilmiş Tür Ali Rıza İnceoğlu 25 Mart 2013 Pazartesi 15:48
Tüm Yanıtlar
-
merhabalar ,
metin olarak girdiğin sayı çektiğinde işleme koymak için bir değişken tanımlaman gerekir ,
declare @gelenDeger int
daha sonra bu değişkene aşağıdaki sorgu ile değer atayabilirsin . Bu sorguda convert işlemi de söz konusudur.
@gelenDeger = SELECT CONVERT(INT, MetinOlarakGirdiginKolonunAdi) FROM Tablon where <koşulun>
şeklinde yazarsan eğer belli koşul ile filtreleyim gelen değeri int olarak convert edip , gelendeger değişkenine atayabilirsin.Böylelikle @gelenDeger değişkenini istediğin şekilde sorguda kullanabilir istediğin gibi işleme sokabilirsin.Umarım yardımcı olmuştur.
-
-
sorgum şu şekilde koyu olan alan metin alanı en bu alana rakam giriyorum mikro'dan şimdi ise o alana girdiğim rakamı başkka bir rakam ile çarptıracam
SELECT TOP (100) PERCENT Tarih, [Belge Nr], CASE WHEN sth_normal_iade = 0 THEN ('Çıkış faturası') WHEN sth_normal_iade = 1 THEN ('Giriş faturası-İade')
END AS [Fatura Nev'i'], Ay, [Musteri Adı 1], [Adı 2], [Temscilci Adı], [Ürün Adı], Miktar, Birim, sth_aciklama AS [B.Alış EURO], [B.Alış Fiyatı], [B.Satış Fiyatı],
CASE WHEN sth_normal_iade = 0 THEN (Miktar * [B.Satış Fiyatı] - sth_iskonto1) WHEN sth_normal_iade = 1 THEN (- 1 * (Miktar * [B.Satış Fiyatı] - sth_iskonto1))
END AS Tutar, CASE WHEN sth_normal_iade = 0 THEN (Miktar * [B.Alış Fiyatı]) WHEN sth_normal_iade = 1 THEN (- 1 * (Miktar * [B.Alış Fiyatı])) END AS Maliyet,
CASE WHEN [B.Alış Fiyatı] > 0 THEN ((CASE WHEN sth_normal_iade = 0 THEN (Miktar * [B.Satış Fiyatı] - sth_iskonto1)
WHEN sth_normal_iade = 1 THEN (- 1 * (Miktar * [B.Satış Fiyatı] - sth_iskonto1)) END - CASE WHEN sth_normal_iade = 0 THEN (Miktar * [B.Alış Fiyatı])
WHEN sth_normal_iade = 1 THEN (- 1 * (Miktar * [B.Alış Fiyatı])) END)) END AS [Brüt Kar], sth_iskonto1, sth_normal_iade, Ay + + [Temscilci Adı] AS EXPR1,
sth_cari_kodu, Hafta
FROM dbo.[satıs detay1]
WHERE (sth_cari_kodu LIKE N'120%')
ORDER BY Tarih- Düzenleyen odcy2000 19 Mart 2013 Salı 20:13
-
SELECT TOP (100) PERCENT Tarih, [Belge Nr], CASE WHEN sth_normal_iade = 0 THEN ('Çıkış faturası') WHEN sth_normal_iade = 1 THEN ('Giriş faturası-İade')
END AS [Fatura Nev'i'], Ay, [Musteri Adı 1], [Adı 2], [Temscilci Adı], [Ürün Adı], Miktar, Birim, CONVERT(INT, sth_aciklama) AS [B.Alış EURO], [B.Alış Fiyatı], [B.Satış Fiyatı],
CASE WHEN sth_normal_iade = 0 THEN (Miktar * [B.Satış Fiyatı] - sth_iskonto1) WHEN sth_normal_iade = 1 THEN (- 1 * (Miktar * [B.Satış Fiyatı] - sth_iskonto1))
END AS Tutar, CASE WHEN sth_normal_iade = 0 THEN (Miktar * [B.Alış Fiyatı]) WHEN sth_normal_iade = 1 THEN (- 1 * (Miktar * [B.Alış Fiyatı])) END AS Maliyet,
CASE WHEN [B.Alış Fiyatı] > 0 THEN ((CASE WHEN sth_normal_iade = 0 THEN (Miktar * [B.Satış Fiyatı] - sth_iskonto1)
WHEN sth_normal_iade = 1 THEN (- 1 * (Miktar * [B.Satış Fiyatı] - sth_iskonto1)) END - CASE WHEN sth_normal_iade = 0 THEN (Miktar * [B.Alış Fiyatı])
WHEN sth_normal_iade = 1 THEN (- 1 * (Miktar * [B.Alış Fiyatı])) END)) END AS [Brüt Kar], sth_iskonto1, sth_normal_iade, Ay + + [Temscilci Adı] AS EXPR1,
sth_cari_kodu, Hafta
FROM dbo.[satıs detay1]
WHERE (sth_cari_kodu LIKE N'120%')
ORDER BY TarihBu şekilde bir dener misin ? Sorguda bu şekilde düzenleme yaparsan , oraya gelen tüm veriler Rakam olarak değer kazanacaktır.Daha sonra burdaki değerleri kullanabilirsin istediğin gibi.
-
-
-
-