zoukankan      html  css  js  c++  java
  • MySQL字符串截取

    今天在做表查询,查询内容如下:

    image_1bvjq594io037631i1khi1b829.png-35.1kB

    plan_time 字段是yyyy-MM格式的varchar类型,但是我只想取到月份,不想显示年份,于是这就有了一个字符串截取的需求:我要通过MySQL的字符串截取函数,只取-后面的内容。

    方法如下

    SELECT
    	a. CODE,
    	a.`year`,
    	substring_index(ad.plan_time, '-', - 1) AS plan_time,
    	ad.budget_value
    FROM
    	tb_pu_area_budget a
        LEFT JOIN tb_pu_area_budget_detail ad ON ad.main_code = a. CODE
    WHERE
    	a. CODE = '11G2017'
    ORDER BY
    	ad.plan_time
    

    substring_index(ad.plan_time, '-', -1) 的意思是,截取ad.plan_time字段中,倒数第一个-之后的所有字符。

    如果将其改为:substring_index(ad.plan_time, '-', 1) 那么意思就变成了:截取正数第一个-之前的所有字符。


    **除此之外,还有其他的字符串截取函数,如:`left()`, `right()`, `substring()`, 详情见:** [MySQL字符串函数substring:字符串截取](https://www.cnblogs.com/zdz8207/p/3765073.html)

    值得一提的是,MySQL的substring()是从1起始的,而不是类似于Java从0开始。
    比如:
    select substring('example.com', 4);
    正确的结果应该为:mple.com,而不是ple.com

  • 相关阅读:
    [考试]20150811
    [考试]20150810
    [随笔]暑假过了,暑假来了
    [考试]20150808
    动态规划大合集II
    [知识点][旧版]C++中的运算符
    NOIP动态规划大合集
    [考试]20150729
    [考试]20150728
    /=============分隔线=============/
  • 原文地址:https://www.cnblogs.com/VitoYi/p/7884946.html
Copyright © 2011-2022 走看看