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