字符全角半角转换及特殊符号转换

近段时间,对数据字段进行清洗加工时经常要涉及去掉特殊符号(比如空格、回车、换行等)、括号要用中文括号、字母要大写、全角字符转半角字符等操作,每次处理时都需要写很多replace和替换字符,太耗时,看起来也极其冗长不美观,因此写了两个自定义函数,在之后使用时,只需要调用函数即可。


特殊符号对应的ASCII码

chr(33) !        chr(34) "        chr(35) #        chr(36) $        chr(37) %
chr(38) &        chr(39) '        chr(40) (        chr(41) )        chr(42) *
chr(43) +        chr(44) ,        chr(45) -        chr(46) .        chr(47) /

Chr(48) 0        Chr(49) 1        Chr(50) 2        Chr(51) 3        Chr(52) 4
Chr(53) 5        Chr(54) 6        Chr(55) 7        Chr(56) 8        Chr(57) 9

chr(58)          chr(59) ;        chr(60) <        chr(61) =        chr(62) >
chr(63) ?        chr(64) @

chr(65) A        chr(66) B        chr(67) C        chr(68) D        chr(69) E
chr(70) F        chr(71) G        chr(72) H        chr(73) I        chr(74) J
chr(75) K        chr(76) L        chr(77) M        chr(78) N        chr(79) O
chr(80) P        chr(81) Q        chr(82) R        chr(83) S        chr(84) T
chr(85) U        chr(86) V        chr(87) W        chr(88) X        chr(89) Y
chr(90) Z

chr(91) [        chr(92) \        chr(93) ]        chr(94) ^        chr(95) _
chr(96) `

chr(97) a        chr(98) b        chr(99) c         chr(100) d      chr(101) e
chr(102) f       chr(103) g       chr(104) h        chr(105) i      chr(106) j
chr(107) k       chr(108) l       chr(109) m        chr(110) n      chr(111) o
chr(112) p       chr(113) q       chr(114) r        chr(115) s      chr(116) t
chr(117) u       chr(118) v       chr(119) w        chr(120) x      chr(121) y
chr(122) z

chr(123) {       chr(124) |       chr(125) }       chr(126) ~        chr(127)
chr(128)         chr(153)?        chr(169) ?       chr(174) ?
 


特殊符号转换自定义函数(MySQL)

CREATE DEFINER=`dsj`@`%` FUNCTION `tsfhzh`(t LONGTEXT) RETURNS longtext CHARSET utf8
begin
-- 特殊符号转换
-- 去掉空格,TAB,回车,换行,将英文括号替换为中文括号
-- 参数t为所需处理的字符串 
	return replace(replace(replace(replace(replace(replace(t,char(32),''),char(9),''),char(10),''),char(13),''),'(','('),')',')');
end

全角半角转换自定义函数(MySQL)

CREATE DEFINER=`dsj`@`%` FUNCTION `qbzh`(m LONGTEXT,n int) RETURNS longtext CHARSET utf8
begin
-- 转大写并全角/半角转换
-- 参数m为所需转换的字符串,n为标识位,n=1:全角转半角;n=0:半角转全角
	-- DECLARE n int default 0;
	if (n=0) then
	return 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(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(upper(m),'0','0'),'1','1'),'2','2'),'3','3'),'4','4'),'5','5'),'6','6'),'7','7'),'8','8'),'9','9'),'A','A'),'B','B'),'C','C'),'D','D'),'E','E'),'F','F'),'G','G'),'H','H'),'I','I'),'J','J'),'K','K'),'L','L'),'M','M'),'N','N'),'O','O'),'P','P'),'Q','Q'),'R','R'),'S','S'),'T','T'),'U','U'),'V','V'),'W','W'),'X','X'),'Y','Y'),'Z','Z');
	else
	return 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(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(upper(m),'0','0'),'1','1'),'2','2'),'3','3'),'4','4'),'5','5'),'6','6'),'7','7'),'8','8'),'9','9'),'A','A'),'B','B'),'C','C'),'D','D'),'E','E'),'F','F'),'G','G'),'H','H'),'I','I'),'J','J'),'K','K'),'L','L'),'M','M'),'N','N'),'O','O'),'P','P'),'Q','Q'),'R','R'),'S','S'),'T','T'),'U','U'),'V','V'),'W','W'),'X','X'),'Y','Y'),'Z','Z');
	end if;
end

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值