17 Eylül 2014 Çarşamba

Tablo içindeki verileri türkçe karaktere çevirme

Merhaba bazı durumlarda veritabanındaki tablolardaki türkçe olmayan karakterleri türkçeye çevirme ihtiyacı duyabiliriz.Bu durumlarda oluşturduğumuz bir fonksiyon ile çağırdığımız tablodaki sütundaki bilgiyi türkçeye çevirebiliriz.


 


Öncelikle fonksiyonumuzu oluşturalım.


CREATE FUNCTION turkceyecevir (@A NVARCHAR(4000)) 
RETURNS NVARCHAR(4000)

AS

BEGIN

DECLARE @TMP NVARCHAR(4000)

SET @TMP = REPLACE(@A COLLATE LATIN1_GENERAL_BIN, CHAR(208), N"Ð")

SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(220), N"Ü")

SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(222), N"Þ")

SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(221), N"Ý")

SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(214), N"Ö")

SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(199), N"Ç")

SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(73), N"I")

SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(240), N"ð")

SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(252), N"ü")

SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(254), N"þ")

SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(105), N"i")

SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(246), N"ö")

SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(231), N"ç")

SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(253), N"ý")

RETURN @TMP

END

Şimdi oluşturduğumuz fonksiyonun nasıl kullanıldığını anlayalım: Bütçe tablomuzdaki budgetname sütunundaki tüm verileri türkçe karaktere çevirerek sıralayacak.


SELECT dbo.turkceyecevir(BudgetName) FROM budget


Hepsi Bu kadar kolay gelsin.



Tablo içindeki verileri türkçe karaktere çevirme

Hiç yorum yok:

Yorum Gönder