前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >sql进阶 - 字段也能实现split拆分?

sql进阶 - 字段也能实现split拆分?

作者头像
披头
发布2019-12-26 11:22:51
4.5K0
发布2019-12-26 11:22:51
举报
文章被收录于专栏:datartisandatartisan
今天学习一个sql函数

SUBSTRING_INDEX(str,delim,count)

  • 函数返回分隔符出现指定次数之前的字符串。如果 count 为正数,则返回最后一个分隔符出现位置左侧的所有字符;如果count为负数,则返回最后一个分隔符出现位置右侧的所有字符。
  • 该函数区分大小写

应用示例:

代码语言:javascript
复制
mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', 2);
        -> 'www.mysql'
mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', -2);
        -> 'mysql.com'

使用得当可以实现split拆分字段功能。 假设有表内容如下:

代码语言:javascript
复制
mysql> select * from a;
+--------------------------+
| login_info               |
+--------------------------+
| 10.23.1.8&root&pwd123456 |
+--------------------------+
1 row in set (0.00 sec)

该字段由3部分组成,分别对应ip, user, password,现在要使用sql将该字段拆分,代码如下:

代码语言:javascript
复制
mysql> select
    -> `login_info`,
    -> substring_index(`login_info`, "&", 1) as `ip`,
    -> substring_index(substring_index(`login_info`,"&",-2),"&",1) as `user`,
    -> substring_index(`login_info`,"&",-1) as `password`
    -> from a;
+--------------------------+-----------+------+-----------+
| login_info               | ip        | user | password  |
+--------------------------+-----------+------+-----------+
| 10.23.1.8&root&pwd123456 | 10.23.1.8 | root | pwd123456 |
+--------------------------+-----------+------+-----------+
1 row in set (0.00 sec)

是不是有点意思?

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 乐享数据8090 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档