MySQL 内置函数
CHAR_LENGTH(str)
返回值为字符串str 的长度,长度的单位为字符。一个多字节字符算作一个单字符。
+------------------------+
| CHAR_LENGTH('klvchen') |
+------------------------+
| 7 |
+------------------------+
1 row in set (0.00 sec)
mysql> SELECT CHAR_LENGTH('你');
+--------------------+
| CHAR_LENGTH('你') |
+--------------------+
| 1 |
+--------------------+
1 row in set (0.00 sec)
CONCAT(str1,str2,...)
字符串拼接, 如有任何一个参数为NULL ,则返回值为 NULL。
mysql> SELECT CONCAT('kl','v','chen');
+-------------------------+
| CONCAT('kl','v','chen') |
+-------------------------+
| klvchen |
+-------------------------+
1 row in set (0.00 sec)
CONCAT_WS(separator,str1,str2,...)
字符串拼接(自定义连接符)CONCAT_WS()不会忽略任何空字符串。 (然而会忽略所有的 NULL)
mysql> SELECT CONCAT_WS('_','chen','wj');
+----------------------------+
| CONCAT_WS('_','chen','wj') |
+----------------------------+
| chen_wj |
+----------------------------+
1 row in set (0.01 sec)
mysql> SELECT CONCAT_WS('_','chen',' wj ', NULL, 'hehe');
+--------------------------------------------+
| CONCAT_WS('_','chen',' wj ', NULL, 'hehe') |
+--------------------------------------------+
| chen_ wj _hehe |
+--------------------------------------------+
1 row in set (0.00 sec)
CONV(N,from_base,to_base)
进制转换
mysql> SELECT CONV('a',16,2);
+----------------+
| CONV('a',16,2) |
+----------------+
| 1010 |
+----------------+
1 row in set (0.00 sec)
FORMAT(X,D)
将数字X 的格式写为'#,###,###.##',以四舍五入的方式保留小数点后 D 位, 并将结果以字符串的形式返回。若 D 为 0, 则返回结果不带有小数点,或不含小数部分。
mysql> SELECT FORMAT(1.23,4);
+----------------+
| FORMAT(1.23,4) |
+----------------+
| 1.2300 |
+----------------+
1 row in set (0.00 sec)
INSERT(str,pos,len,newstr)
str 原字符串; pos 要替换位置其实位置(从1开始); len:替换的长度;newstr:需要替换的符串
简洁概况为:先从 pos 处删除 len 长度的字符串,再由新的字符串代替
mysql> SELECT INSERT('klvchen', 1, 1, 'j');
+------------------------------+
| INSERT('klvchen', 1, 1, 'j') |
+------------------------------+
| jlvchen |
+------------------------------+
1 row in set (0.00 sec)
mysql> SELECT INSERT('klvchen', 1, 1, 'ja');
+-------------------------------+
| INSERT('klvchen', 1, 1, 'ja') |
+-------------------------------+
| jalvchen |
+-------------------------------+
1 row in set (0.00 sec)
mysql> SELECT INSERT('klvchen', 1, 2, 'a');
+------------------------------+
| INSERT('klvchen', 1, 2, 'a') |
+------------------------------+
| avchen |
+------------------------------+
1 row in set (0.00 sec)
INSTR(str,substr)
返回字符串 str 中子字符串的第一个出现位置。
mysql> SELECT INSTR('klvchen','l');
+----------------------+
| INSTR('klvchen','l') |
+----------------------+
| 2 |
+----------------------+
1 row in set (0.00 sec)
LOCATE(substr,str,pos)
获取子序列索引位置
mysql> SELECT LOCATE('l','klvchen',1);
+-------------------------+
| LOCATE('l','klvchen',1) |
+-------------------------+
| 2 |
+-------------------------+
1 row in set (0.01 sec)
LEFT(str,len)
返回字符串 str 从开始的 len 位置的子序列字符。
mysql> SELECT LEFT('klvchen',2);
+-------------------+
| LEFT('klvchen',2) |
+-------------------+
| kl |
+-------------------+
1 row in set (0.00 sec)
RIGHT(str,len)
从字符串 str 开始,返回从后边开始 len个字符组成的子序列
mysql> SELECT RIGHT('klvchen', 2);
+---------------------+
| RIGHT('klvchen', 2) |
+---------------------+
| en |
+---------------------+
1 row in set (0.00 sec)
LOWER(str)
字符串转化为小写
mysql> SELECT LOWER('KLVCHEN');
+------------------+
| LOWER('KLVCHEN') |
+------------------+
| klvchen |
+------------------+
1 row in set (0.00 sec)
UPPER(str)
字符串转化为大写
mysql> SELECT UPPER('klvchen');
+------------------+
| UPPER('klvchen') |
+------------------+
| KLVCHEN |
+------------------+
1 row in set (0.00 sec)
LTRIM(str)
返回字符串 str ,左边的空格字符被删除。
mysql> SELECT LTRIM(' klvchen');
+--------------------+
| LTRIM(' klvchen') |
+--------------------+
| klvchen |
+--------------------+
1 row in set (0.00 sec)
RTRIM(str)
返回字符串 str ,结尾空格字符被被删除。
mysql> SELECT RTRIM('klvchen ');
+----------------------+
| RTRIM('klvchen ') |
+----------------------+
| klvchen |
+----------------------+
1 row in set (0.00 sec)
TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str) TRIM(remstr FROM] str)
返回字符串 str , 其中所有remstr 前缀和/或后缀都已被删除。若分类符BOTH、LEADIN或TRAILING中没有一个是给定的,则假设为BOTH 。 remstr 为可选项,在未指定情况下,可删除空格。
mysql> SELECT TRIM(' kl ');
+------------------+
| TRIM(' kl ') |
+------------------+
| kl |
+------------------+
1 row in set (0.00 sec)
mysql> SELECT TRIM(LEADING 'x' FROM 'xxklxx');
+----------------------------------+
| TRIM(LEADING 'x' FROM 'xxklxx') |
+----------------------------------+
| klxx |
+----------------------------------+
1 row in set (0.00 sec)
mysql> SELECT TRIM(BOTH 'x' FROM 'xxklxx');
+-------------------------------+
| TRIM(BOTH 'x' FROM 'xxklxx') |
+-------------------------------+
| kl |
+-------------------------------+
1 row in set (0.00 sec)
mysql> SELECT TRIM(trailing 'x' FROM 'xxklxx');
+-----------------------------------+
| TRIM(trailing 'x' FROM 'xxklxx') |
+-----------------------------------+
| xxkl |
+-----------------------------------+
1 row in set (0.00 sec)
REPEAT(str,count)
返回一个由重复的字符串 str 组成的字符串,字符串str重复的次数等于count的值 。
若 count <= 0,则返回一个空字符串;若str 或 count 为 NULL,则返回 NULL 。
mysql> SELECT REPEAT('ha',3);
+----------------+
| REPEAT('ha',3) |
+----------------+
| hahaha |
+----------------+
1 row in set (0.00 sec)
REPLACE(str,from_str,to_str)
返回字符串str 以及所有被字符串to_str替代的字符串from_str 。
mysql> SELECT REPLACE('klvchel', 'l', 'i');
+------------------------------+
| REPLACE('klvchel', 'l', 'i') |
+------------------------------+
| kivchei |
+------------------------------+
1 row in set (0.00 sec)
REVERSE(str)
返回字符串 str ,顺序和字符顺序相反。
mysql> SELECT REVERSE('klvchen');
+--------------------+
| REVERSE('klvchen') |
+--------------------+
| nehcvlk |
+--------------------+
1 row in set (0.00 sec)
SUBSTRING(str,pos,len)
获取字符串子序列
mysql> SELECT SUBSTRING('klvchen', 1, 3);
+----------------------------+
| SUBSTRING('klvchen', 1, 3) |
+----------------------------+
| klv |
+----------------------------+
1 row in set (0.00 sec)
mysql> SELECT SUBSTRING('klvchen', 3);
+-------------------------+
| SUBSTRING('klvchen', 3) |
+-------------------------+
| vchen |
+-------------------------+
1 row in set (0.00 sec)
mysql> SELECT SUBSTRING('klvchen' FROM 3);
+-----------------------------+
| SUBSTRING('klvchen' FROM 3) |
+-----------------------------+
| vchen |
+-----------------------------+
1 row in set (0.00 sec)
mysql> SELECT SUBSTRING('klvchen', -3);
+--------------------------+
| SUBSTRING('klvchen', -3) |
+--------------------------+
| hen |
+--------------------------+
1 row in set (0.00 sec)
mysql> SELECT SUBSTRING('klvchen', -3, 2);
+-----------------------------+
| SUBSTRING('klvchen', -3, 2) |
+-----------------------------+
| he |
+-----------------------------+
1 row in set (0.00 sec)
mysql> SELECT SUBSTRING('klvchen' FROM -3 FOR 2);
+------------------------------------+
| SUBSTRING('klvchen' FROM -3 FOR 2) |
+------------------------------------+
| he |
+------------------------------------+
1 row in set (0.01 sec)
MySQL 内置函数的更多相关文章
- MySQL内置函数
MySQL中的内置系统函数 用在SELECT语句,以及字句where order by having 中UPDTE DELETE 函数中可以将字段名作为变量来用,变量的值就是这个列对应的每一 ...
- MySQL内置函数获取几天前的日期
如何采用mysql内置函数获取指定时间之前的日期呢? SELECT something FROM table_name WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY ...
- mysql内置函数,在mysql里面利用str_to_date()把字符串转换为日期格式
mysql内置函数,在mysql里面利用str_to_date()把字符串转换为日期格式 示例:分隔符一致,年月日要用%号 select str_to_date('2008-4-2 15:3:28', ...
- mysql 内置函数大全 mysql内置函数大全
mysql 内置函数大全 2013年01月15日 19:02:03 阅读数:4698 对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str) 返回字符串str的最左面字符的ASCII代 ...
- (MariaDB)MySQL内置函数大全
html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...
- 【mysql】mysql内置函数
mysql常用内置函数 1.mysql字符串函数 contact 字符串连接函数 mysql>select contact("he",'llo');# hello lcase ...
- 四、mysql内置函数
.字符串函数 concat('a','b'); 字符串拼接函数 ,,"我是A我是B"): 从指定位置开始替换指定长度的指定数据(起步为1) lower() 转小写 upper() ...
- mysql内置函数大全
mysql 字符串函数用法集合 ASCII(str)返回字符串str的最左面字符的ASCII代码值. mysql> select ascii('d'); +------------+ | asc ...
- MySQL内置函数uuid和uuid_short
MySQL的uuid这个函数.简要介绍一下. 用法 简单看到,这个值,每次执行都是不同的. 生成规则 第1 2 3 段是与时间有关的. time_low.time_mid.time_high_and_ ...
- 【SQL】MySQL内置函数中的字符串函数和日期时间函数
字符串函数 --拼接字符串组成新的字符串 Select concat(‘A’,’B’); --返回字符串长度 Select length(“CAT”) --返回子字符串在字符串中首次出现的位置,没有返 ...
随机推荐
- Kali学习笔记35:使用VBScript、PowerShell、DEBUG传输文件
其实VBScript只是一个工具 本质是开启http服务提供下载的 首先我们开启http服务:阿帕奇 然后给上传一个文件做演示: 接下来就是编写VBScript: 这些内容全部输入完成之后: 传输 早 ...
- 网管到CEO的10年逆袭之路
把我个人近一年来讲的技术人员如何成长的鸡汤课整理了出来,送给大家<网管到CEO的10年逆袭之路>
- Spring整合MyBatis 你get了吗?
Spring整合MyBatis 1.整体架构dao,entity,service,servlet,xml 2..引入依赖 <dependencies> <dependency> ...
- Spring 静态代理+JDK动态代理和CGLIB动态代理
代理分为两种:静态代理 动态代理 静态代理:本质上会在硬盘上创建一个真正的物理类 动态代理:本质上是在内存中构建出一个类. 如果多个类需要进行方法增强,静态代理则需要创建多个物理类,占用磁盘空间.而动 ...
- Cocos2d-x环境配置步骤
Cocos2d-x环境配置: (1)安装Visual Studio 2013 软件安装包为:VS2013_RTM_ULT_CHS.iso文件,将其解压后可以直接安装,也可以使用虚拟光驱等软件进行安装. ...
- centos上ftp服务器的简易安装部署
申明:本示例为centos7 开启ftp服务命令为:systemctl start vsftpd 关闭防火墙命令为systemctl stop firewalld 7版本以下开启ftp服务器为 ser ...
- 使用maven插件构建docker镜像
为什么要用插件 主要还是自动化的考虑,如果额外使用Dockerfile进行镜像生成,可能会需要自己手动指定jar/war位置,并且打包和生成镜像间不同步,带来很多琐碎的工作. 插件选择 使用比较多的是 ...
- mysql 开发进阶篇系列 9 锁问题 (Innodb 行锁实现方式)
一.概述 Innodb 行锁是通过给索引上的索引项加锁来实现的.这一点与(oracle,sql server)不同后者是通过在数据块中对相应的数据行加锁.这意味着只有通过索引条件检索数据,innodb ...
- 用canvas实现红心飘飘的动画效果
两周前,项目里需要实现一个红心飘飘的点赞效果.抓耳挠腮了老半天,看了几篇大佬的文章,终于算是摸了个七七八八.不禁长叹一声,还是菜啊.先来看一下效果:(传送门进去点一波) 一.Bezier曲线运动轨迹 ...
- oracle12c创建用户提示ORA-65096:公用用户名或角色无效
1.背景 以前一直用的是oracle11g,创建用户一直没有问题, 今天在oracle12c上创建用户,报错了.如下图: 我很郁闷, 就打开了oracle官方网站找了下, 发现创建用户是有限制的. 2 ...