【发布时间】:2015-01-08 10:12:19
【问题描述】:
我想为多列的行将一些土耳其语字符更改为英语。
小写字符:
ç 到 c, ğ 到 g, ı 到 i, ö 到 o, ş 到 s, ü 到 u
大写字符:
Ç 到 C,Ğ 到 G,İ 到 I,Ö 到 O,Ş 到 S,Ü 到 U
例如:
包含“ARÇELİK”字符串值的列。 将要创建的函数应将此值更改为“ARCELIK”
感谢您的回复。
【问题讨论】:
我想为多列的行将一些土耳其语字符更改为英语。
小写字符:
ç 到 c, ğ 到 g, ı 到 i, ö 到 o, ş 到 s, ü 到 u
大写字符:
Ç 到 C,Ğ 到 G,İ 到 I,Ö 到 O,Ş 到 S,Ü 到 U
例如:
包含“ARÇELİK”字符串值的列。 将要创建的函数应将此值更改为“ARCELIK”
感谢您的回复。
【问题讨论】:
我创建了一个函数来解决这个问题。
我的功能是这个。
创建函数REPLACECHARS(t1 varchar(100) CHARSET utf8) RETURNS varchar(100) CHARSET latin1
开始
声明 s1 varchar(100) CHARSET latin1;
set
s1 = REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(t1,'ç','c'),'ğ','g'),'ı','i'),'ö','o'),'ş','s'),'ü','u'),'Ç','C'),'Ğ','G'),'İ','I'),'Ö','O'),'Ş','S'),'Ü','U');
返回 s1; 结束
【讨论】:
参考这个link。认为它可以帮助你。
【讨论】:
您可以为此使用REPLACE 函数。
SELECT REPLACE('ARÇELİK','Ç','C');
现在输出将是ARCELİK。
也许您可以将所有要替换的字符放在一个表中,然后通过 REPLACE 循环所有这些字符。我无法测试这个自动取款机,这只是我的一个想法;-)
【讨论】: