一、常见字符串函数:1、CHAR_LENGTH  获取长度(字符为单位)

2、FORMAT  格式化

3、INSERT  替换的方式插入

4、INSTR  获取位置

5、LEFT/RIGHT  取左、取右

6、LENGTH   获取长度(字节为单位)

7、LTRIM/RTRIM/TRIM 去空格(左/右/自定义)

8、STRCMP  字符串比较

9、CONCAT  字符串拼接

10、SUBSTRING  字符串截取

1、CHAR_LENGTH:获取长度(字符为单位)CHAR_LENGTH()

解释:返回值为字符串str的长度,计算的单位为字符(一个中文也算一个字符)

举例:

如果是查询已知表格里的字段长度,可以这样写:

2、FORMAT:FORMAT(X,D)

解释:将数字X的格式写为'#,###,###.##',以四舍五入的方式保留小数点后D位,并将结果以字符串的形式返回。若D为0, 则返回结果不带有小数点,或不含小数部分。

举例:

3、INSERT:替换的方式插入(,pos,,newstr)

解释:返回字符串str,从原str的pos位置开始,用字符串newstr来替换,替换的长度为len。

如果pos超过字符串长度,则返回值为原始字符串。假如len的长度超过后面字符串的长度,则从位置pos开始替换到字符串的结尾即可。

四个参数中若任何一个参数为的值为null,则整个函数的返回值为NULL。

举例:将smyh001替换为smyh002

4、INSTR:查找子字符串的位置INSTR(,substr)

解释:返回字符串str中首次出现子字符串substr的位置。

举例:

5、LEFT/RIGHT:字符串截取左截取:(,)

解释:返回字符串str中,从左边开始算起的,前len个字符。右截取:(,)

解释:返回字符串str中,从右边开始算起的,前len个字符。

6、LENGTH:求字符串长度(以字节为单位)LENGTH()

解释:返回值为字符串str的长度,单位为字节。一个多字节字符算作多字节。这意味着对于一个包含五个2字节字符的字符串,LENGTH()的返回值为10,而CHAR_LENGTH()的返回值则为5。

注:GBK  编码中,一个中文字符是2个字节。

UTF-8编码中,一个中文字符是3个字节,一个英文字符是2个字节。

7、LTRIM/RTRIM/TRIM 去空格(左/右/自定义):去掉左边的空格:()

解释:返回字符串str,其引导空格字符被删除。去掉中间的空格:()

解释:返回字符串str,其结尾空格字符被删除。自定义去空格:TRIM( )

注:大括号和中括号里面的参数为可选项,如果全部都加上的话,默认为参数both。

解释:将原字符串str去掉空格返回。只去开头(leading)的空格,只去结尾(trailng)的空格,或者同时去掉(both)开头和结尾的空格都行。若分类符BOTH、LEADIN或TRAILING中没有一个是给定的,则假设为BOTH。TRIM( )

解释:remstr关键字的作用是去掉指定字符。 即所有包含remstr的前缀和/或后缀将被删除。未指定情况下,即删除空格。

官方文档的举例:

8、STRCMP:判断字符串是否相等STRCMP(expr1,expr2)

解释:判断两个字符串是否相等。若所有的字符串均相同,则返回0;若根据当前分类次序,第一个参数小于第二个,则返回-1;其它情况返回1。功能和比较器类似。

注:字符串的大小是按照ANSI编码来比较的。

举例:

9、CONCAT:字符串拼接CONCAT(str1,str2,...)

解释:返回结果为连将str1、str2···拼接之后产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。括号里可能有一个或多个参数。

如果所有参数均为非二进制字符串,则结果为非二进制字符串。如果自变量中含有任意一个二进制字符串,则结果为一个二进制字符串。一个数字参数将自动转化为与之相等的二进制字符串格式。

若要避免这种情况二进制的情况出现,可使用显式类型 cast(str),将二进制的字符串转换为非二进制字符串。例如:SELECT CONCAT(CAST(int_col AS CHAR), char_col)

举例:(navicat编辑器会自动将二进制字符串转换为非二进制字符串)

10、SUBSTRING:字符串截取SUBSTRING(str,pos)SUBSTRING(str FROM pos)SUBSTRING(str,pos,len)SUBSTRING(str FROM pos FOR len)

解释:不带有len 参数的格式从字符串str返回一个子字符串,起始于位置 pos。带有len参数的格式从字符串str返回一个长度同len字符相同的子字符串,起始于位置 pos。

使用FROM的格式为标准SQL语法。

也可能对pos使用一个负值。假若这样,则子字符串的位置起始于字符串结尾的pos字符(也就是说,pos为正时,从左边算起;pos为负时,从右边算起)。

官方文档举例如下:

二、常见日期时间函数:1、DAYOFWEEK、 DAYOFYEAR、DAYOFMONTH

2、WEEKDAY

3、YEAR、QUARTER、MONTH、

4、HOUR、MINUTE、SECOND

5、TO DAYS、FROM DAYS

6、CURDATE、CURTIME、NOW   获取当前时间

1、DAYOFWEEK、 DAYOFYEAR、DAYOFMONTH求星期几:(一周中的第几天)DAYOFWEEK(date)

解释:返回date(1=周日,2=周一, ...,7=周六)对应的工作日索引。即:date对应的范围是1至7。求一年中的某天是第几天:(一年中的第几天)DAYOFYEAR(date)

返回date对应的一年中的天数,范围是从1到366。求一个月中的某天是第几天:(一个月的第几天)DAYOFMONTH(date)

返回date对应的该月日期,范围是从1到31。注:DAY(date) 和DAYOFMONTH(date)的含义相同。

举例:

2、WEEKDAY:求星期几:(一周的第几天)WEEKDAY(date)

解释:返回date(0 = 周一, 1 = 周二, ... 6 = 周日)对应的工作日索引。即:date对应的范围是0至6。

注:DAYOFWEEK(date)和WEEKDAY(date)的功能相同,唯一的区别在于date对应的取值范围。

3、 YEAR、QUARTER、MONTH求年份:(date)

解释:返回date对应的年份,范围是从1000到9999。求季度:QUARTER(date)

解释:返回date对应的一年中的季度值,范围是从1到4。求月份:(该月是一年当中的第几个月)MONTH(date)

解释:返回date 对应的月份,范围是从1到12。

举例:

4、HOUR、MINUTE、SECOND求小时:HOUR(time)

解释:返回time 对应的小时数。对于日时值的返回值范围是从0到23 。求分钟:MINUTE(time)

解释:返回time对应的分钟数,范围是从0到59。求秒数:SECOND(time)

解释:返回time对应的秒数,范围是从0到59。

举例:

5、TO_DAYS、FROM_DAYS求某日期,一共经历了多少天:(历史长河中)TO_DAYS(date)

解释:给定一个日期date, 返回一个天数 (从年份0开始的天数 )。求历史长河中的第某天,的日期:FROM_DAYS(N)

解释:给定一个天数 N, 返回一个DATE值。

使用FROM_DAYS()处理古老日期时,务必谨慎,他不用于处理阳历出现前的天数(1582)。

6、CURDATE、CURTIME、NOW求当前的年月日:CURDATE()

解释:将当前日期按照'YYYY-MM-DD'或YYYYMMDD格式的值返回,具体格式根据函数用在字符串或是数字语境中而定。

举例:

求当前的时分秒:CURTIME()

解释:将当前时间以'HH:MM:SS'或HHMMSS的格式返回,具体格式根据函数用在字符串或是数字语境中而定。

举例:

求当前的年月日、时分秒:NOW()

举例:

注:如果now是放在语句当中,要看具体字段的格式要求。比如说,如果是放在date字段中,则只显示年月日;如果是放在datetime字段中,则同时显示年月日和时分秒。

mysql添加字符串日期时间_mysql学习笔记--- 字符串函数、日期时间函数相关推荐

  1. mysql 分组链接_MySQL学习笔记(四)——分组函数,分组查询,链接查询

    MySQL学习笔记(四)--分组函数,分组查询,链接查询 做者:就叫易易好了 日期:2020/11/18 1.分组函数 功能:用做统计使用,又称为聚合函数或统计函数mysql 分类:web sum函数 ...

  2. mysql select语句详解_mysql学习笔记之完整的select语句用法实例详解

    本文实例讲述了mysql学习笔记之完整的select语句用法.分享给大家供大家参考,具体如下: 本文内容: 完整语法 去重选项 字段别名 数据源 where group by having order ...

  3. mysql数据库select语句用法_mysql学习笔记之完整的select语句用法实例详解

    本文实例讲述了mysql学习笔记之完整的select语句用法.分享给大家供大家参考,具体如下: 本文内容: 完整语法 去重选项 字段别名 数据源 where group by having order ...

  4. MySQL按字符串hash分区_MySQL学习笔记(14):分区

    本文更新于2019-06-30,使用MySQL 5.7,操作系统为Deepin 15.4. 分区类型 可以使用SHOW PLUGINS查看是否安装了分区插件. MySQL创建分区表支持使用大部分存储引 ...

  5. mysql 拼接sql批量执行_Mysql 学习笔记之 SQL 执行过程

    写在开始 本系列源自极客时间 MySQL 专栏,整理而成 在执行下面这个查询语句时的执行的流程是怎么样的? mysql 看过相关资料的同学都可能知道执行流程大概是这样的: 其执行过程为:连接.查询缓存 ...

  6. mysql o转数字排序_mysql学习,字符串转成数字并比较排序

    SUBSTRING_INDEX([列名],[分割符],[段数]) 列名:要分割列里内容的列名 分割符:用来切割的符号 段数:切割后取的长度 以下示例说明参数: 表info 列c_code 值 1-10 ...

  7. mysql模糊查询索引失效_MySql学习笔记(九):索引失效

    数据准备:CREATE TABLE `t_blog` ( `id` int(11) NOT NULL auto_increment, `title` varchar(50) default NULL, ...

  8. mysql 存储引擎的选择_MySQL学习笔记(四):存储引擎的选择

    一:几种常用存储引擎汇总表 二:如何选择 一句话:除非需要InnoDB 不具备的特性,并且没有其他办法替代,否则都应该优先考虑InnoDB:或者,不需要InnoDB的特性,并且其他的引擎更加合适当前情 ...

  9. mysql对所有id求积_MySQL学习笔记(二)—查询

    一.多表连接查询 新建两张表t_user.t_order.       1.内连接 返回满足条件的所有记录. (1)显式内连接 使用inner join关键字,在on子句中设定连接条件. SELECT ...

最新文章

  1. R语言可视化包ggplot2包绘制多个图形并将多个图像垂直堆叠c成一个图像实战(grid.arrange)
  2. 程序员的“鱿鱼游戏”,你能活到第几关?
  3. echarts formatter_手把手教你玩转echarts(二)折线图
  4. http://blog.csdn.net/java2000_wl/article/details/8627874
  5. Android 混淆详解
  6. 简单的文本片段替换器
  7. 技术、管理和技术管理
  8. mysql拒绝访问root用户_设置mysql的root用户允许远程登录
  9. 潘多拉设置有线中继_避坑指南:购买无线中继器必看
  10. 面试官问:JS的this指向
  11. Java 泛型 泛型的约束与局限性
  12. 用javascript动态调整iframe高度
  13. 输入234输出432的c语言程序,C程序设计第1-4章习题集
  14. 华为调研了82位离职博士,任正非发电邮深讨人才流失根源
  15. 转,docker学习笔记
  16. ubuntu安装python_使用WSL在Windows上搭建Python开发环境
  17. 用excel来做项目管理?
  18. HDU2897 邂逅明下
  19. windows 自定义安装包界面
  20. python3爬虫的简单使用-附百度贴吧等大量实例代码

热门文章

  1. 那些年职场老鸟都踩过哪些坑?送给后来人的一些职场建议
  2. mysql 聚簇索引和非聚簇索引_图文并茂,说说MySQL索引
  3. ssm 静态资源处理器
  4. 使用微信开发者工具添加小程序底部导航栏报错
  5. mysql学生选课系统的关系模型_使用PowerDesigner搭建学生选课管理系统(学生老师管理员一体系结构)由基础设计至数据库生成(SQL语句源代码的生成)全过程实例操作...
  6. 【完成整理】45套很酷的长影影 LOGO 设计
  7. 15个创意示例教您如何自定义 404 错误页面
  8. js模版引擎handlebars.js实用教程——结束语
  9. css多浏览常见问题
  10. layui 父页面弹框中获取子页面的内容