mysql的常用函数(全)

一. 使用字符串函数

1. 合并字符串函数CONCAT()和CONCAT_WS()

1.1 函数CONCAT()

CONCAT()函数会将传入的参数连接起来返回所合并的字符串类型数据。如果其中一个参数为NULL,则返回值为NULL。

SELECT CONCAT(‘My‘,‘S‘,‘QL‘) 合并后字符串;

SELECT CONCAT(CURDATE(),12.34) 合并后字符串;

SELECT CONCAT(‘My‘,‘S‘,‘QL‘,NULL) 合并后字符串;

1.2 函数CONCAT_WS()

CONCAT_WS(SEP,S1,S2,…SN)函数与CONCAT()相比,多了一个表示分割符的SEP参数,即不仅将传入的其他参数连接起来,而且还会通过分割符将各个字符串分割开。分隔符可以是一个字符串,也可以是其他参数。如果分隔符为NULL,则返回结果为NULL。函数会忽略任何分隔符参数后的NULL值。

SELECT CONCAT_WS(‘-‘,‘029‘,88461234) 合并后字符串

执行SQL函数CONCAT_WS(),当分割符参数的值为NULL时,具体SQL语句如下:

SELECT CONCAT_WS(NULL,‘029‘,88461234) 合并后字符串;

执行结果显示,当所传入的第一个参数值为NULL,返回的结果值将为NULL,因此返回结果为NULL。

执行SQL函数CONCAT_WS(),当分割符参数后值存在NULL时,具体SQL语句如下:

SELECT CONCAT_WS(‘-‘,‘029‘,NULL,88461234) 合并后字符串;

执行结果显示,当所传入的参数(除第一个参数外)值中有NULL,返回的结果值将忽略NULL,因此返回结果为029-88461234。

2. 比较字符串大小函数STRCMP()

STRCMP(str1,str2)函数用来比较字符串参数str1和str2,如果参数str1大于str2,则返回结果1;如果参数str1小于str2,则返回结果-1;如果参数str1等于str2,则返回结果0。

SELECT STRCMP(‘abc‘,‘abd‘),
    STRCMP(‘abc‘,‘abc‘),
    STRCMP(‘abc‘,‘abb‘);

3. 获取字符串长度函数LENGTH()和字符数函数CHAR_LENGTH()

通过函数LENGTH()和CHAR_LENGTH()获取字符串的长度。LENGTH(str)函数会获取传人的参数str的长度,CHAR_LENGTH(str)函数会获取传人的参数str的字符串。

3.1 函数LENGTH()

SELECT ‘MySQL‘ 英文字符串,LENGTH(‘MySQL‘) 字符串字符长度,‘常建功‘ 中文字符串,LENGTH(‘常建功‘) 字符串字符长度

由于一个英文字符占一个字节,所以字符串‘MySQL‘的长度为5,由于一个汉字字符占3个字符(有的书说是2个),所以字符串‘常建功‘的长度为6。

3.2 函数CHAR_LENGTH()

SELECT ‘MySQL‘ 英文字符串,CHAR_LENGTH(‘MySQL‘) 字符串字符长度,‘常建功‘ 中文字符串,CHAR_LENGTH(‘常建功‘) 字符串字符长度

字符串‘MySQL‘共有5个字符,但是占有6个字节空间。这是因为每个字符串都会以\0结束,结束符\0也会占用一个字节空间。

4. 实现字母大小写转换函数UPPER()和字符数函数LOWER()

4.1 函数UPPER()和UCASE()函数会将字符串中的所有字母转换成大写字母。

SELECT ‘mysql‘ 字符串,UPPER(‘mysql‘) 转换后字符串,UCASE(‘mysql‘) 转换后字符串;

4.2 函数LOWER()和LCASE()函数会将字符串中的所有字母转换成小写字母。

SELECT ‘MYSQL‘ 字符串,LOWER(‘MYSQL‘) 转换后字符串,LCASE(‘MYSQL‘) 转换后字符串;

5. 查找字符串

5.1 返回字符串位置的函数FIND_IN_SET() 。

通过函数FIND_IN_SET(str1,str2)获取相匹配字符串的位置,该函数会返回在字符串str2中与str1相匹配的字符串的位置,参数str2字符串中将包含若干个用逗号隔开的字符串。

SELECT FIND_IN_SET(‘MySQL‘,‘orcle,sql server,MySQL‘) 位置;

5.2 返回指定字符串位置的函数FIELD()

通过函数FIELD(str,str1,str2…) 获取相匹配字符串的位置。该函数将会返回第一个与字符串str匹配的字符串的位置。

SELECT FIELD(‘MySQL‘,‘orcle‘,‘sql server‘,‘MySQL‘) 位置;

5.3 返回子字符串相匹配的开始位置

可以通过三个函数获取子字符串相匹配的开始位置,它们分别为函数LOCATE()、POSITION()和INSTR()。

LOCATE(str1,str) 函数将会返回参数str中字符串str1的开始位置。其他两个函数定义如下:POSITION(str1 IN str) INSTR(str,str1)。

SELECT LOCATE(‘SQL‘,‘MySQL‘) 位置,
POSITION(‘SQL‘ IN ‘MySQL‘) 位置,
INSTR(‘MySQL‘,‘SQL‘) 位置;

5.4 返回指定位置的字符串的函数ELT()

通过函数ELT(n,str1,str2…)获取指定位置的字符串,该函数将会返回第n个字符串。

SELECT ELT(1,‘MySQL‘,‘orcle‘,‘sql server‘) 第1个位置的字符串;

5.5 选择字符串的函数MAKE_SET()

可以通过函数MAKE_SET(num,str1,str2…strn)获取字符串,该函数首先会将数值num转换成二进制数,然后按照二进制数从参数str1,str2,……,strn中选取相应的字符串。在通过二进制数来选择字符串时,会从右到左的顺序读取该值,如果值为1值选择该字符串,否则将不选择该字符串。

SELECT BIN(5) 二进制数,MAKE_SET(5,‘MySQL‘,‘Oracle‘,‘SQL Server‘,‘PostgreSQL‘) 选取后的字符串,
    BIN(7) 二进制数,MAKE_SET(7,‘MySQL‘,‘Oracle‘,‘SQL Server‘,‘PostgreSQL‘) 选取后的字符串;

6. 从现有字符串中截取子字符串

在MySQL中提供了丰富的函数去实现截取子字符串功能,分别为函数LEFT()、函数RIGHT()、函数SUBSTRING()和函数MID()。

6.1 从左边或右边截取子字符串

LEFT(str,num):返回字符串str中的包含前num个字母(从左边数)的字符串。

RIGHT(str,num):返回字符串str中的包含后num个字母(从右边数)的字符串。

SELECT ‘MySQL‘ 字符串,LEFT(‘MySQL‘,2) 前两个字符,RIGHT(‘MySQL‘,3) 后三个字符;

6.2 截取指定位置和长度子字符串

SUBSTRING(str,num,len):返回字符串str中的第num个位置开始长度为len的子字符串。

MID(str,num,len)

SELECT ‘oraclemysql‘ 字符串,SUBSTRING(‘oraclemysql‘,7,5) 截取子字符串,MID(‘oraclemysql‘,7,5) 截取子字符串;

7. 去除字符串的首尾空格

在MySQL中提供了丰富函数去实现去除字符串空格功能,分别为函数LTRIM()、函数RTRIM()和函数TRIM()。LTRIM(str)去除字符串开始处空格,RTRIM(str)去除字符串结束处空格,TRIM(str)去除字符串首尾空格。

SELECT CONCAT(‘-‘,‘  MySQL‘,‘-‘) 原来字符串,CHAR_LENGTH(CONCAT(‘-‘,‘  MySQL‘,‘-‘)) 原来字符串长度,
CONCAT(‘-‘,LTRIM(‘  MySQL‘),‘-‘) 处理后字符串,CHAR_LENGTH(CONCAT(‘-‘,LTRIM(‘  MySQL‘),‘-‘)) 处理后字符串串长度

8. 替换字符串

8.1 使用INSERT()函数

INSERT(str,pos,len,newstr):该函数会将字符串str中的pos位置开始长度为len的字符串用字符串ewstr来替换。如果参数pos的值超过字符串长度,则返回值为原始字符串str。如果len的长度大于原来字符串(str)中所剩字符串的长度,则从位置pos开始进行全部替换。若任何一个参数为NULL,则返回值为NULL。

SELECT ‘这是MySQL数据库管理系统‘ 字符串,
    INSERT(‘这是MySQL数据库管理系统‘,3,5,‘Oracle‘) 转换后字符串;

执行SQL函数INSERT(),当替换的起始位置大于字符串长度,具体SQL语句如下:

SELECT ‘这是MySQL数据库管理系统‘ 字符串, CHAR_LENGTH(‘这是MySQL数据库管理系统‘) 字符串字符数,
    INSERT(‘这是MySQL数据库管理系统‘,16,15,‘Oracle‘) 转换后字符串;

执行SQL函数INSERT(),当所要替换的长度大于原来字符串中所剩字符串的长度,则从起始位置开始进行全部替换,具体SQL语句如下:

SELECT ‘这是MySQL数据库管理系统‘ 字符串,CHAR_LENGTH(‘MySQL数据库管理系统‘) 剩余字符数,
    INSERT(‘这是MySQL数据库管理系统‘,3,15,‘Oracle‘) 转换后字符串;

8.2 使用REPLACE()函数

REPLACE(str,substr,newstr)):该函数会将字符串str中的子字符串substr用字符串newstr来替换。

SELECT ‘这是MySQL数据库管理系统‘ 原字符串,
    REPLACE(‘这是MySQL数据库管理系统‘,‘MySQL‘,‘Oracle‘) 替换后字符串;

二. 使用数值函数

一. 使用日期函数

一. 使用系统信息函数

时间: 2024-10-04 04:22:10

mysql的常用函数(全)的相关文章

Mysql:常用函数

常用函数 总数:select count as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1 替换:replace('1234567

mysql(常用函数)转

对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str) 返回字符串str的最左面字符的ASCII代码值.如果str是空字符串,返回0.如果str是NULL,返回NULL. mysql> select ASCII('2');    -> 50mysql> select ASCII(2);    -> 50mysql> select ASCII('dx');    -> 100也可参见ORD()函数. ORD(str) 如果字符串str最左面字符是一个多字节

MySQL 数据库 常用函数

一.数学函数 数学函数主要用于处理数字,包括整型.浮点数等. ABS(x) 返回x的绝对值 SELECT ABS(-1) -- 返回1 CEIL(x),CEILING(x) 返回大于或等于x的最小整数 SELECT CEIL(1.5) -- 返回2 FLOOR(x) 返回小于或等于x的最大整数 SELECT FLOOR(1.5) -- 返回1 RAND() 返回0->1的随机数 SELECT RAND() --0.93099315644334 RAND(x) 返回0->1的随机数,x值相同时返

MySQL数据库------常用函数

一.数学函数 数学函数主要用于处理数字,包括整型.浮点数等. [1]ABS(x)        返回x的绝对值 例子:SELECT ABS(-1) -- 返回1 [2]CEIL(x),CEILING(x)        返回大于或等于x的最小整数 例子:SELECT CEIL(1.5) -- 返回2 [3]FLOOR(x) x是一个数        返回小于或等于x的最大整数 例子:SELECT FLOOR(1.5) -- 返回1 [4]RAND() 根据当前的时间       返回0->1的随

MySQL数据库常用函数

一.数学函数 数学函数主要用于处理数字,包括整型.浮点数等. ABS(x) 返回x的绝对值 SELECT ABS(-1) -- 返回1 CEIL(x),CEILING(x) 返回大于或等于x的最小整数 SELECT CEIL(1.5) -- 返回2 FLOOR(x) 返回小于或等于x的最大整数 SELECT FLOOR(1.5) -- 返回1 RAND() 返回0->1的随机数 SELECT RAND() --0.93099315644334 RAND(x) 返回0->1的随机数,x值相同时返

mysql 字符串常用函数

一.ASCII ASCII(str) 返回字符串str的最左面字符的ASCII代码值.如果str是空字符串,返回0.如果str是NULL,返回NULL. 二.ORD ORD(str) 如果字符串str最左面字符是一个多字节字符,通过以格式((first byte ASCII code)*256+(second byte ASCII code))[*256+third byte ASCII code...]返回字符的ASCII代码值来返回多字节字符代码.如果最左面的字符不是一个多字节字符.返回与A

mysql的常用函数

原文地址参考:http://www.cnblogs.com/ringwang/archive/2008/07/05/1236292.html 1. 控制流函数 1.1  IFNULL(expr1,expr2) 如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2. mysql> select IFNULL(1,0); -> 1 mysql> select IFNULL(0,10); -> 0 mysql> select IFNULL(1/0,10)

MySQL 其他常用函数

mysql_connect():连接数据库 mysql_select_db():选择表 mysql_query():执行SQL语句 mysql_fetch_row():从结果集中取得一行作为枚举数组 mysql_fetch_assoc(): 从结果集中取得一行作为关联数组 mysql_fetch_array(): 从结果集中取得一行作为关联数组,或数字数组,或二者兼有 mysql_fetch_lengths(): 取得结果集中每个输出的长度 mysql_field_name(): 取得结果中指定

PHP操作MySQL的常用函数

mysql_connect() 连接数据库,连接成功返回标识符,失败返回false mysql_select_db() 选择数据库,选择充公返回true,失败返回false mysql_query() 执行一条sql语句 insert时插入成功返回true,失败返回false 对于查询类的语句会返回一个资源句柄(resource),可以通过该资源获取查询结果集内的数据. mysql_fetch_assoc() 每次都只是获取一条记录,获取完之后移动指针到下一条记录 mysql_close() 关