温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

SQL中concat和substr怎么组合运用

发布时间:2022-08-08 15:51:51 来源:亿速云 阅读:127 作者:iii 栏目:开发技术

这篇文章主要介绍“SQL中concat和substr怎么组合运用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SQL中concat和substr怎么组合运用”文章能帮助大家解决问题。

    concat和substr组合运用

    背景

    最近客户要我给一个脚本说查数据,说是要 截取sql表中某一个字段的前5个数值 进行查找。

    刚开始我以为很简单就接了下来开始想,想了之后发现并没有这么简单(自己太菜了),就去问朋友(大数据开发)。

    给了我 这两个函数(concat和substr)让我自己去玩 ,但是客户一直再催没办法只能找我们自己的开发写脚本。

    Ten minutes later…

    真的就10分钟,开发发来了脚本,果然就是用的这两个函数,还得是大佬。

    脚本有放在最后一章进行分析

    concat介绍

    concat()可以理解为就是拼接函数,用于将多个字符串连接起来,形成一个单一的字符串

    concat(id, name, work_date)
     这个函数会把三个字段的数值拼接到一个字段

    更详细的页面学习:

    链接:link

    substr介绍

    substr()此函数就相当于一个截取操作

    substr(string ,pos,len)
    string:指定字符串
    pos:规定字符串从何处开始
    len:要截取字符串的长度

    更详情的学习请参考sql中的substr()函数用法

    前言:

    五一闲来无事多更新几篇关于sql语句的文章吧,sql中要是想截取某个字段值作为匹配条件怎么办呢,这里可以使用substr()函数了。下面请看例子吧。

    substr()函数

    substr()函数用于截取对应字段指定长度。

    SUBSTR(string ,pos,len)
    string:指定字符串
    pos:规定字符串从何处开始,(这里的第一个位置是1而不是0)为正数时则从字段开始出开始,为负数则从结尾出开始。
    len:要截取字符串的长度。(是从1开始计数而不是0)

    示例:

    现在我们举个例子,现在想通过时间字段得到每个小时15min/30min/45min/00min的数据,时间字段data_date(YYYY-MM-DD HH:mm)

    select * from meter_table
    where substr(data_date,15,2) in ('00','15','30','45')

    最后SQL语句分析

    最终阉割版的脚本展示

    replace into student (select name,concat(substr(A.stuid,1,5),'0'),A.sex  from student A,score B WHERE substr(A.stuid,6,1)='1' and concat(substr(A.stuid,1,5),'0')=B.stuid);

    replace 替换语句

    concat(substr(A.stuid,1,5),‘0’)

    截取(substr函数)表A(student表)中stuid字段的前1-5个数值,再与‘0’进行拼接成行的字段。

    本来学号为665511,现在就会变成了665510

    Student表中由于某种原因,stuid字段里面的数值最后一位变成了1,Score表中有以‘0’结尾的正确学号,这脚本的目的就是把Student表中的错误数据替换。

    关于“SQL中concat和substr怎么组合运用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI