MD *_*med 6 postgresql plpgsql
我想在字符串中找到特定字符的第一次和最后一次出现.例如,考虑一个名为"2010 - #### - 3434"的字符串,并假设要搜索的字符是"#".字符串内第一次出现的散列位于第6位,最后一次出现位于第9位.
rfu*_*sca 16
好...
Select position('#' in '2010-####-3434');
Run Code Online (Sandbox Code Playgroud)
会给你第一个.如果你想要最后一个,只需用你的字符串的反向再次运行它.可在此处找到pl/pgsql字符串反向.
Select length('2010-####-3434') - position('#' in reverse_string('2010-####-3434')) + 1;
Run Code Online (Sandbox Code Playgroud)
小智 7
我的例子:
reverse(substr(reverse(newvalue),0,strpos(reverse(newvalue),',')))
Run Code Online (Sandbox Code Playgroud)
小智 6
在char = '.'需要逃生的情况下.所以函数可以写成:
CREATE OR REPLACE FUNCTION last_post(text,char)
RETURNS integer LANGUAGE SQL AS $$
select length($1)- length(regexp_replace($1, E'.*\\' || $2,''));
$$;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31961 次 |
| 最近记录: |