
可以使用substring_index(column, ',', 2)方法来实现。
具体SQL语句为:
select id,name,substring_index(address, ',', 2) from people;
substring_index(address, ',', 2)的意思是截取第二个 ',' 之前的所有字符。
扩展资料
sql中substring()的相关用法介绍:
1、SUBSTRING(name,3) 截取name这个字段 从第三个字符开始,之后的所有个字符
SELECT SUBSTRING('1234567',3)
结果:34567
2、SUBSTRING(name, -4) 截取name这个字段的第 4 个字符位置(倒数)开始取,直到结束
SELECT SUBSTRING('1234567',-4)
结果:4567
3、SUBSTRING(name, -4,2) 截取name这个字段的第 4 个字符位置(倒数)开始取,只截取之后的2个字符
SELECT SUBSTRING('1234567',-4,2)
结果:45
4、substring_index('>
SELECT substring_index('>
参考:
CREATE OR REPLACE FUNCTION "newms""instr"(string varchar, string_to_search varchar, beg_index int4)RETURNS "pg_catalog""int4" AS $BODY$
DECLARE
pos integer NOT NULL DEFAULT 0;
temp_str varchar;
beg integer;
length integer;
ss_length integer;
BEGIN
IF beg_index > 0 THEN
temp_str := substring(string FROM beg_index);
pos := position(string_to_search IN temp_str);
IF pos = 0 THEN
RETURN 0;
ELSE
RETURN pos + beg_index - 1;
END IF;
ELSE
ss_length := char_length(string_to_search);
length := char_length(string);
beg := length + beg_index - ss_length+2;
WHILE beg > 0 LOOP
temp_str := substring(string FROM beg FOR ss_length);
pos := position(string_to_search IN temp_str);
IF pos > 0 THEN
RETURN beg;
END IF;
beg := beg - 1;
END LOOP;
RETURN 0;
END IF;
END;
$BODY$
以上就是关于SQL 查询的时候截取字段在逗号前的部分全部的内容,包括:SQL 查询的时候截取字段在逗号前的部分、sql instr函数在postgre可以用吗、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)