SQL 查询的时候截取字段在逗号前的部分

SQL 查询的时候截取字段在逗号前的部分,第1张

可以使用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可以用吗、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9542597.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存