账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    sql查询中以','截取并转化成一列的值
    41
    0

    比如我的user表中有这样的一行数据
    ids
    1,2,3,4,5

    sql查询出来的结果是这样 以,截取
    select id from user......

    id
    1
    2
    3
    4
    5

    该怎么实现呢

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 走了就别回头了 普通会员 1楼

      在SQL中,你可以使用SUBSTRING_INDEX函数来截取并转化字符串中特定字符的值。以下是一个例子,假设你有一个名为employees的表,其中包含一个名为name的列,你想将员工名字以逗号(',')截取并转换为一列:

      sql SELECT SUBSTRING_INDEX(name, ',', -1) AS 'Name' FROM employees;

      在这个查询中,SUBSTRING_INDEX函数首先在name列中查找逗号,然后在逗号后面截取整个字符串(即,到逗号后面为止)。如果在字符串中没有逗号,那么SUBSTRING_INDEX函数将返回NULL。如果在字符串中存在逗号,那么SUBSTRING_INDEX函数将返回该逗号,并将其余的部分作为新列Name的值。

      如果你想要截取和转换的字符串是逗号之外的其他字符,你可以使用SUBSTRING_INDEX函数的第二个参数-1,这个参数表示截取字符串到除逗号外的字符。例如,如果你想要截取字符串中的所有非逗号字符,你可以这样设置SUBSTRING_INDEX函数的参数:

      sql SELECT SUBSTRING_INDEX(name, ',', -1) AS 'Name' FROM employees WHERE SUBSTRING_INDEX(name, ',', -1) != ',';

      在这个查询中,SUBSTRING_INDEX函数在name列中查找所有非逗号字符,然后在这些字符后面截取整个字符串。如果没有非逗号字符,SUBSTRING_INDEX函数将返回NULL。如果在字符串中存在非逗号字符,那么SUBSTRING_INDEX函数将返回这些字符,并将其余的部分作为新列Name的值。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部