全角转半角

fxg2686_cn 2009-04-27 04:30:09
大家好:
有没有人对日文编码比较熟悉的:
半角假名是否包含下的字符:
アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォャュョッー゙゚。「」、・
ガギグゲゴザジズゼゾダヂヅデドバビブベボパピプペポ (貌似是2个字符组成的)

现在要实现半角假名转换成全角假名:
sql语句应该怎么写好呢?

其中ガギグゲゴ等要变换成ガ ギ グ ゲ ゴ。

下面的sql语句,貌似太难看的说。

SELECT
NO,
TRANSLATE(
TO_MULTI_BYTE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(NAME,'ガ','ガ'),
'ギ','ギ'),
'グ','グ'),
'ゲ','ゲ'),
'ゴ','ゴ'),
'ザ','ザ'),
'ジ','ジ'),
'ズ','ズ'),
'ゼ','ゼ'),
'ゾ','ゾ'),
'ダ','ダ'),
'ヂ','ヂ'),
'ヅ','ヅ'),
'デ','デ'),
'ド','ド'),
'バ','バ'),
'ビ','ビ'),
'ブ','ブ'),
'ベ','ベ'),
'ボ','ボ'),
'パ','パ'),
'ピ','ピ'),
'プ','プ'),
'ペ','ペ'),
'ポ','ポ')),'アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォャュョッー゙゚。「」、・','アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォャュョッー゛゜。「」、・')
FROM
GEN_SEIGYO_MASTER
...全文
319 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
shiqiang_03 2009-05-11
  • 打赏
  • 举报
回复
如果嫌难看,把它放在函数当中,封装一下。速度不会慢的。
liulongjin2008 2009-05-11
  • 打赏
  • 举报
回复
学习了
fxg2686_cn 2009-04-27
  • 打赏
  • 举报
回复
To_muil_byte这个是把单字节变成多字节。只对字母和数字起作用。
半角假名已经是多字节了。
kk19840210 2009-04-27
  • 打赏
  • 举报
回复
oracle中半角全角转换


SELECT To_single_byte('881898?71') FROM dual ---转成半角

SELECT To_muil_byte('881898?71') FROM dual-----转成全角

length(p1.accounts)!=lengthb(p1.accounts)----此条件是查出哪些记录里含有全角字符

17,082

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧