近段时间,对数据字段进行清洗加工时经常要涉及去掉特殊符号(比如空格、回车、换行等)、括号要用中文括号、字母要大写、全角字符转半角字符等操作,每次处理时都需要写很多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) thenreturn 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');elsereturn 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