我在as400数据库中有48/50 g我希望在#34; /"之前(查询)substr在50和g之间的空格之前。
我得到的结果是50
我现在正在寻找几个小时,试着尝试但没有运气。
欢迎任何帮助。
谢谢!
答案 0 :(得分:4)
您想使用LOCATE()函数...
假设第一个空格是你想要的那个空格将起作用:
--create variable mystr char(10) default('48/50 g')
select substr(mystr
, locate('/'
, mystr) + 1
, locate(' '
, mystr)
- (locate('/'
, mystr) + 1)
)
from sysibm.sysdummy1
但是,如果这是一个经常需要的功能。考虑创建一个用户定义的函数(UDF),它将以这种方式解析和拆分字符串。