String 如何在Oracle 11G中正确使用SUBSTR、INSTR和or REPLACE
我想做的是得到第三个字符串。在本例中:String 如何在Oracle 11G中正确使用SUBSTR、INSTR和or REPLACE,string,oracle,replace,oracle11g,substr,String,Oracle,Replace,Oracle11g,Substr,我想做的是得到第三个字符串。在本例中: NL 123456789 TUE 在本例中更改为数字: 2927 123456789 353620 被(重新)放在后面。所以在“2927”后面。我想知道怎么做?我目前获取此字符串的代码是: CREATE OR REPLACE FUNCTION generateISIN( countryCode Country.Code%TYPE, universityCode University.Code%TYPE, studentNumber VARC
NL 123456789 TUE
在本例中更改为数字:
2927 123456789 353620
被(重新)放在后面。所以在“2927”后面。我想知道怎么做?我目前获取此字符串的代码是:
CREATE OR REPLACE FUNCTION generateISIN(
countryCode Country.Code%TYPE,
universityCode University.Code%TYPE,
studentNumber VARCHAR2)
RETURN VARCHAR2
AS
newStudentNumber VARCHAR2(50) := '';
BEGIN
select country.code || ' ' || studentNumber || ' ' || university.code
into newStudentNumber
from country, university
where country.code = countryCode
and university.code = universityCode;
dbms_output.put_line(newStudentNumber);
RETURN newStudentNumber;
END generateISIN;
/
这是我获取第一个示例的select语句
select generateISIN('NL','TUE', '123456789') from dual;
这是我的第二个select语句,它将字符串转换为数字(这里没有放入代码循环)
如果不是太多的要求。请给我举一个例子,说明我的问题
我希望我的问题不要太含糊
如果您想使用,请提前感谢,以下步骤可以:
SELECT SUBSTR (x, INSTR(x, ' ', 1, 2) +1) || ' ' ||
SUBSTR (x, 1, INSTR(x, ' ') -1) || ' ' ||
SUBSTR (x, INSTR(x, ' ') +1, INSTR(x, ' ', 1, 2) -INSTR(x, ' '))
FROM (SELECT 'NL 123456789 TUE' x
FROM dual);
虽然我宁愿使用:
检查。请给我们一些所需输入/输出的示例。NL 123456789 TUE必须更改为TUE NL 123456789完美配对。正则表达式为我做到了这一点。谢谢你的帮助。我把你的awnser标记为正确的
SELECT SUBSTR (x, INSTR(x, ' ', 1, 2) +1) || ' ' ||
SUBSTR (x, 1, INSTR(x, ' ') -1) || ' ' ||
SUBSTR (x, INSTR(x, ' ') +1, INSTR(x, ' ', 1, 2) -INSTR(x, ' '))
FROM (SELECT 'NL 123456789 TUE' x
FROM dual);
SELECT regexp_replace('NL 123456789 TUE','(.+) (.+) (.+)','\3 \1 \2')
FROM dual;