DB2翻转自定义函数,截取字符串

首先需要创建自定义函数,因为DB2没有内置的翻转函数

--/

CREATE OR REPLACE FUNCTION REVERSE2 ( C VARCHAR(200) )

RETURNS VARCHAR(200) //返回的值

SPECIFIC REVERSE2

LANGUAGE SQL

DETERMINISTIC

NO EXTERNAL ACTION

READS SQL DATA

INHERIT SPECIAL REGISTERS

BEGIN ATOMIC 

declare v_str varchar(100) default '';

DECLARE i INTEGER; SET i = length(C); //传入的字符串的长度

WHILE(i >= 1) DO

SET v_str = v_str||substr(C,i,1);

SET i= i- 1; END WHILE; return v_str;//返回

END/

创建自定义函数,一定要在首尾加上"--/"和"/"

现有一个字符串url="https://i.cnblogs.com/posts/edit.abc"

可以获取'.'位置下标,locate('.',trim(reverse2(url)))

select rever2 ( left(trim(reverse2(url)),locate('.',trim(reverse2(url)))-1)) from 表

就可以获取最后一个字符串数据了

 

posted @ 2020-11-13 10:11  渴望sunshine  阅读(560)  评论(0)    收藏  举报