SQL截取中文字符
MYSQL版:
?
drop FUNCTION if EXISTS test.chstr;-- test為庫名 CREATE FUNCTION test.chstr(s VARCHAR(255)) RETURNs VARCHAR(255) BEGIN DECLARE t_char VARCHAR(255); declare t_out VARCHAR(255); DECLARE i int; set t_out=''; set i=CHAR_LENGTH(s); WHILE i>0 do set t_char=SUBSTR(s,i,1);if LENGTH(t_char)=3 then set t_out=CONCAT(t_char,t_out);END if;set i=i-1;end WHILE; RETURN(t_out); endSQLSERVER版:
?
--截取所有中文字符,原理是中文字符字節長度為2,核心判斷語句引自@fcuandy CREATE FUNCTION chstr(@s NVARCHAR(255)) RETURNs NVARCHAR(255) AS BEGIN DECLARE @in VARCHAR(255),@out VARCHAR(255) set @in=@s set @out='' WHILE LEN(@in)>0 SELECT @out=CASE WHEN DATALENGTH(RIGHT(@in,1))=2 THEN RIGHT(@in,1) ELSE '' END + @out,@in=LEFT(@in,LEN(@in)-1) RETURN (@out) end?
運行后創建了一個方法chstr(),若s=‘312給付對價jerj大概3173’,則chstr(s)='給付對價大概'
?
?
?
?
?
?
總結
- 上一篇: JavaScript弹出框 元素文本输入
- 下一篇: Mysql 拼接多个字段作为查询条件查询