DB2 for IBM i (AS400) 查询子字符串
DB2 for IBM i (AS400) query substr
我在 as400 数据库中有 48/50 g,我想在“/”之前和 space 之前(查询)substr 在 50 和 g 之间。
我应该得到的结果是 50
我现在正在搜索几个小时并尝试尝试但没有运气。
欢迎任何帮助。
谢谢!
您想使用 LOCATE() 函数...
假设第一个 space 是您想要的那个,以下将起作用:
--create variable mystr char(10) default('48/50 g')
select substr(mystr
, locate('/'
, mystr) + 1
, locate(' '
, mystr)
- (locate('/'
, mystr) + 1)
)
from sysibm.sysdummy1
但是,如果这是一个经常需要的功能。考虑创建一个用户定义的函数 (UDF),它将以这种方式解析和拆分字符串。
我在 as400 数据库中有 48/50 g,我想在“/”之前和 space 之前(查询)substr 在 50 和 g 之间。
我应该得到的结果是 50
我现在正在搜索几个小时并尝试尝试但没有运气。
欢迎任何帮助。
谢谢!
您想使用 LOCATE() 函数...
假设第一个 space 是您想要的那个,以下将起作用:
--create variable mystr char(10) default('48/50 g')
select substr(mystr
, locate('/'
, mystr) + 1
, locate(' '
, mystr)
- (locate('/'
, mystr) + 1)
)
from sysibm.sysdummy1
但是,如果这是一个经常需要的功能。考虑创建一个用户定义的函数 (UDF),它将以这种方式解析和拆分字符串。