在 SQL 查询中编写提取函数
Write extract function in SQL query
我需要从
中提取1421412043
REQ: <<online>true</online><cardno>1421412043</cardno><amount> 349812948:00, OLDID= 1969)
我试试这个,但它得到 1421412043</cardno><amount> 349812948:00, OLDID= 1969)
:
SELECT
extract(value, '.*<cardno>(.*).*') AS cardno
FROM ......
那个正则表达式怎么写对?
你可以使用
extract(value, '<cardno>([^<]+)') AS cardno
或者,
extract(value, '<cardno>([0-9]+)') AS cardno
根据 extract
参考,“它采用与第一个子模式匹配的片段。 这里,([^<]+)
是一个捕获组,它匹配一个或除 <
以外的更多字符(并且 ([0-9]+)
匹配并捕获一位或多位数字)。
我需要从
中提取1421412043
REQ: <<online>true</online><cardno>1421412043</cardno><amount> 349812948:00, OLDID= 1969)
我试试这个,但它得到 1421412043</cardno><amount> 349812948:00, OLDID= 1969)
:
SELECT
extract(value, '.*<cardno>(.*).*') AS cardno
FROM ......
那个正则表达式怎么写对?
你可以使用
extract(value, '<cardno>([^<]+)') AS cardno
或者,
extract(value, '<cardno>([0-9]+)') AS cardno
根据 extract
参考,“它采用与第一个子模式匹配的片段。 这里,([^<]+)
是一个捕获组,它匹配一个或除 <
以外的更多字符(并且 ([0-9]+)
匹配并捕获一位或多位数字)。