04 MySQL之函数
01-数学函数
数学函数主要用来处理数值数据。
# 1、绝对值函数 ABS(x) 和 返回圆周率的函数 PI()
ABS(x) 返回x的绝对值。
例:
mysql> select ABS(2), ABS(-32), ABS(-2.3);
+--------+----------+-----------+
| ABS(2) | ABS(-32) | ABS(-2.3) |
+--------+----------+-----------+
| 2 | 32 | 2.3 |
+--------+----------+-----------+
1 row in set (0.01 sec) PI() 返回 3.14....的值。默认显示6位小数。
例:
mysql> select pi();
+----------+
| pi() |
+----------+
| 3.141593 |
+----------+
1 row in set (0.00 sec) # 2、平方根函数SQRT(x) 和 求余函数MOD(x, y)
SQRT(x) 返回非负数x的二次方根。
例:
mysql> select sqrt(9), sqrt(25), sqrt(-49);
+---------+----------+-----------+
| sqrt(9) | sqrt(25) | sqrt(-49) |
+---------+----------+-----------+
| 3 | 5 | NULL |
+---------+----------+-----------+
1 row in set (0.00 sec) MOD(x, y) 返回x除以y的余数。
例:
mysql> select mod(41, 7), mod(27.5, 5), mod(45, 10);
+------------+--------------+-------------+
| mod(41, 7) | mod(27.5, 5) | mod(45, 10) |
+------------+--------------+-------------+
| 6 | 2.5 | 5 |
+------------+--------------+-------------+
1 row in set (0.00 sec) # 3、获取整数的函数CEIL(x)、CEILING(x)、FLOOR(x)
CEIL(x)、CEILING(x) 意义相同,返回不小于x的最小整数,返回值转化为一个BIGINT。
例:
mysql> select ceil(-3.4), ceil(-3.7), ceiling(-3.7), ceil(3.4);
+------------+------------+---------------+-----------+
| ceil(-3.4) | ceil(-3.7) | ceiling(-3.7) | ceil(3.4) |
+------------+------------+---------------+-----------+
| -3 | -3 | -3 | 4 |
+------------+------------+---------------+-----------+
1 row in set (0.00 sec) FLOOR(x) 返回不大于x的最大整数值。返回值转化为一个BIGINT。
例:
mysql> select floor(3.4), floor(3), floor(-3.4), floor(-3.7), floor(3.7);
+------------+----------+-------------+-------------+------------+
| floor(3.4) | floor(3) | floor(-3.4) | floor(-3.7) | floor(3.7) |
+------------+----------+-------------+-------------+------------+
| 3 | 3 | -4 | -4 | 3 |
+------------+----------+-------------+-------------+------------+
1 row in set (0.00 sec) # 4、获取随机数的函数 RAND() 和 RAND(x)
例:
mysql> select rand(), rand(), rand();
+---------------------+---------------------+--------------------+
| rand() | rand() | rand() |
+---------------------+---------------------+--------------------+
| 0.25413118047093153 | 0.40886388850292554 | 0.2819259318354781 |
+---------------------+---------------------+--------------------+
1 row in set (0.00 sec) 不带参数的RAND()每次产生的随机数值是不同的。 mysql> select rand(5), rand(5), rand(10);
+---------------------+---------------------+--------------------+
| rand(5) | rand(5) | rand(10) |
+---------------------+---------------------+--------------------+
| 0.40613597483014313 | 0.40613597483014313 | 0.6570515219653505 |
+---------------------+---------------------+--------------------+
1 row in set (0.00 sec)
当RAND()的参数相同时,将产生相同的随机数,不同的x产生的随机数也不同。 # 5、函数ROUND(x)、ROUND(x, y)和TRUNCATE(x,y)
ROUND(x) 返回最接近于参数x的整数,对x值进行四舍五入。
例:
mysql> select round(-1.5),round(-1.45),round(-1.6),round(1.5),round(1.55),round(2.1);
+-------------+--------------+-------------+------------+-------------+------------+
| round(-1.5) | round(-1.45) | round(-1.6) | round(1.5) | round(1.55) | round(2.1) |
+-------------+--------------+-------------+------------+-------------+------------+
| -2 | -1 | -2 | 2 | 2 | 2 |
+-------------+--------------+-------------+------------+-------------+------------+
1 row in set (0.00 sec) ROUND(x) 返回最接近于参数x的整数,对x值进行四舍五入,结果保留小数点后面y位。
例:
mysql> select round(-1.5, 1),round(-1.45, 3),round(-1.6, 0),round(1.5, 5),round(1.55);
+----------------+-----------------+----------------+---------------+-------------+
| round(-1.5, 1) | round(-1.45, 3) | round(-1.6, 0) | round(1.5, 5) | round(1.55) |
+----------------+-----------------+----------------+---------------+-------------+
| -1.5 | -1.450 | -2 | 1.50000 | 2 |
+----------------+-----------------+----------------+---------------+-------------+
1 row in set (0.00 sec) 当 y 值为负数时,保留小数点左边的相应位数直接保存为0,不进行四舍五入。
例:
mysql> select round(1234.5, -1),round(123.45, -2),round(123.45, -3),round(12345.6, -4);
+-------------------+-------------------+-------------------+--------------------+
| round(1234.5, -1) | round(123.45, -2) | round(123.45, -3) | round(12345.6, -4) |
+-------------------+-------------------+-------------------+--------------------+
| 1230 | 100 | 0 | 10000 |
+-------------------+-------------------+-------------------+--------------------+
1 row in set (0.00 sec) TRUNCATE(x,y) 返回被舍去至小数点后y位的数字x。不进行四舍五入。
例:
mysql> select truncate(123.456, -1), truncate(123.456, 1),truncate(123.456, -2), truncate(123.456, 2),truncate(123.456, 4);
+-----------------------+----------------------+-----------------------+----------------------+----------------------+
| truncate(123.456, -1) | truncate(123.456, 1) | truncate(123.456, -2) | truncate(123.456, 2) | truncate(123.456, 4) |
+-----------------------+----------------------+-----------------------+----------------------+----------------------+
| 120 | 123.4 | 100 | 123.45 | 123.4560 |
+-----------------------+----------------------+-----------------------+----------------------+----------------------+
1 row in set (0.00 sec) # 6、符号函数 SIGN(x)
SIGN(x) 返回参数的符号,x的值为负,0或正时,返回结果依次为 -1、0 或 1。
例:
mysql> select sign(-2), sign(-8.78), sign(3.1), sign(0);
+----------+-------------+-----------+---------+
| sign(-2) | sign(-8.78) | sign(3.1) | sign(0) |
+----------+-------------+-----------+---------+
| -1 | -1 | 1 | 0 |
+----------+-------------+-----------+---------+
1 row in set (0.00 sec) # 7、幂运算函数 POW(x, y)、POWER(x, y)和 EXP(x)
POW(x, y)、POWER(x, y) 返回x的y次方。
EXP(x) 返回 e 的x乘方后的值。
例:
mysql> select pow(2, 3), power(2, 3), exp(2);
+-----------+-------------+------------------+
| pow(2, 3) | power(2, 3) | exp(2) |
+-----------+-------------+------------------+
| 8 | 8 | 7.38905609893065 |
+-----------+-------------+------------------+
1 row in set (0.01 sec) # 8、对数函数LOG(x) 和 LOG10(x)
LOG(x) 返回x的自然对数,以e为底的。
例:
mysql> select log(5), log10(100);
+--------------------+------------+
| log(5) | log10(100) |
+--------------------+------------+
| 1.6094379124341003 | 2 |
+--------------------+------------+
1 row in set (0.00 sec) # 9、正弦函数 SIN(x) 和 反正弦函数 ASIN(x)
SIN(x) 返回x正弦,x为弧度值。
02-字符串函数
2.1 计算字符串字符数的函数和字符串长度的函数
CHAR_LENGTH(str) 返回字符串str 字符的个数。
例:
mysql> select char_length('hyp'), char_length('date'), char_length('data_test');
+--------------------+---------------------+--------------------------+
| char_length('hyp') | char_length('date') | char_length('data_test') |
+--------------------+---------------------+--------------------------+
| 3 | 4 | 9 |
+--------------------+---------------------+--------------------------+
1 row in set (0.01 sec)
2.2 合并字符串长度 CONCAT(s1, s2, s3, ...)、CONCAT_WS(x, s1, s2, s3, ...)
CONCAT(s1, s2, s3, ...) 结果为连接参数产生的字符串。
CONCAT_WS(x, s1, s2, s3, ...) x为分隔符。
例:
mysql> select concat('data', 'test'), concat('data', ' test'), concat_ws('_','data', 'test');
+------------------------+-------------------------+-------------------------------+
| concat('data', 'test') | concat('data', ' test') | concat_ws('_','data', 'test') |
+------------------------+-------------------------+-------------------------------+
| datatest | data test | data_test |
+------------------------+-------------------------+-------------------------------+
1 row in set (0.00 sec)
2.3 替换字符串函数 INSERT(s1, x, len, s2)
INSERT(s1, x, len, s2) 返回字符串s1,其子字符串起始于x位置和被字符串s2取代的len字符。如果x大于字符串长度,则返回值为原始字符串。若任何一个参数为NULL,则返回值为NULL。
例:
mysql> select insert('data_test', 2, 4, 'xxxx'), insert('data_test', 2, 8, 'xxxx'), insert('data_test', 2, 4, null);
+-----------------------------------+-----------------------------------+---------------------------------+
| insert('data_test', 2, 4, 'xxxx') | insert('data_test', 2, 8, 'xxxx') | insert('data_test', 2, 4, null) |
+-----------------------------------+-----------------------------------+---------------------------------+
| dxxxxtest | dxxxx | NULL |
+-----------------------------------+-----------------------------------+---------------------------------+
1 row in set (0.00 sec)
2.4 字母大小写转换函数 LOWER(str)
将所有字符都转换成小写字母。
例:
mysql> select lower('DATA'), lower('Data'),lower('DaTa');
+---------------+---------------+---------------+
| lower('DATA') | lower('Data') | lower('DaTa') |
+---------------+---------------+---------------+
| data | data | data |
+---------------+---------------+---------------+
1 row in set (0.00 sec)
2.5 获取指定长度的字符串 LEFT(s, n) 和 RIGHT(s, n)
LEFT(s, n) 返回字符串s 开始的最左边 n 个字符。
RIGHT(s, n) 返回字符串s 最右边 n 个字符。
例:
mysql> select left('data_test', 3), left('data_test', 5), right('data_test', 3);
+----------------------+----------------------+-----------------------+
| left('data_test', 3) | left('data_test', 5) | right('data_test', 3) |
+----------------------+----------------------+-----------------------+
| dat | data_ | est |
+----------------------+----------------------+-----------------------+
1 row in set (0.00 sec)
2.6 填充字符串函数 LPAD(Ss1, len, s2)、RPAD(Ss1, len, s2)
LPAD(Ss1, len, s2) 返回字符串s1,其左边由字符串s2填补到len字符长度。如果s1的长度大于len,则返回值被缩短至len字符串。
RPAD(Ss1, len, s2) 返回字符串s1,其右边由字符串s2填补到len字符长度。如果s1的长度大于len,则返回值被缩短至len字符串。
例:
mysql> select lpad('hello', 4, '??'), lpad('hello', 10, '??'),rpad('hello', 10, '??'),rpad('hello', 4, '??');
+------------------------+-------------------------+-------------------------+------------------------+
| lpad('hello', 4, '??') | lpad('hello', 10, '??') | rpad('hello', 10, '??') | rpad('hello', 4, '??') |
+------------------------+-------------------------+-------------------------+------------------------+
| hell | ?????hello | hello????? | hell |
+------------------------+-------------------------+-------------------------+------------------------+
1 row in set (0.00 sec)
2.7 删除空格的函数 LTRIM(s)、RTRIM(s) 和 TRIM(s)
LTRIM(s) 返回字符串s左侧空格被删除的值。
RTRIM(s) 返回字符串s右侧空格被删除的值。
TRIM(s) 返回字符串s 两侧空格被删除的值。
例:
mysql> select ltrim(' data '), rtrim(' data '), trim(' data ');
+-------------------+-------------------+------------------+
| ltrim(' data ') | rtrim(' data ') | trim(' data ') |
+-------------------+-------------------+------------------+
| data | data | data |
+-------------------+-------------------+------------------+
1 row in set (0.00 sec)
2.8 删除指定字符串函数 TRIM(s1 from s)
删除字符串 s 中两端所有的子字符串s1。 而不删除中间的 s1
例:
mysql> select trim('aa' from 'qweaaasewraaerfdaartyaa'), trim('aa' from 'aaqweaaasewraaerfdaartyaa');
+-------------------------------------------+---------------------------------------------+
| trim('aa' from 'qweaaasewraaerfdaartyaa') | trim('aa' from 'aaqweaaasewraaerfdaartyaa') |
+-------------------------------------------+---------------------------------------------+
| qweaaasewraaerfdaarty | qweaaasewraaerfdaarty |
+-------------------------------------------+---------------------------------------------+
1 row in set (0.00 sec)
2.9 重复删除字符串函数 REPEAT(s, n)
返回一个有重复字符串s组成的字符串。
例:
mysql> select repeat('MySQL', 3);
+--------------------+
| repeat('MySQL', 3) |
+--------------------+
| MySQLMySQLMySQL |
+--------------------+
1 row in set (0.00 sec)
2.10 空格函数 SPACE(n) 和 替换函数 REPLACE(s, s1, s2)
SPACE(n) 返回一个由n个空格组成的字符串。
REPLACE(s, s1, s2) 使用s2代替字符串s中所有的s1。
例:
mysql> select space(5), replace('data_xxx', 'a', 'w');
+----------+-------------------------------+
| space(5) | replace('data_xxx', 'a', 'w') |
+----------+-------------------------------+
| | dwtw_xxx |
+----------+-------------------------------+
1 row in set (0.00 sec)
2.11 比较字符串大小的函数 STRCMP(s1, s2)
STRCMP(s1, s2) 若字符串都相同,则返回0;第一个参数小于第二个,则返回-1,其他情况返回1。
例:
mysql> select strcmp('data', 'data'), strcmp('data', 'data2'), strcmp('data3', 'data'), strcmp('test5', 'data');
+------------------------+-------------------------+-------------------------+-------------------------+
| strcmp('data', 'data') | strcmp('data', 'data2') | strcmp('data3', 'data') | strcmp('test5', 'data') |
+------------------------+-------------------------+-------------------------+-------------------------+
| 0 | -1 | 1 | 1 |
+------------------------+-------------------------+-------------------------+-------------------------+
1 row in set (0.00 sec)
2.12 获取子串的函数 SUBSTRING(s, n, len) 和 MID(s, n, len)
SUBSTRING(s, n, len) 从字符串s返回一个长度同len字符相同的子字符串,起始于位置n。
例:
mysql> select substring('leanmysql', 4), substring('leanmysql', 2, 4), substring('leanmysql', -5, 3);
+---------------------------+------------------------------+-------------------------------+
| substring('leanmysql', 4) | substring('leanmysql', 2, 4) | substring('leanmysql', -5, 3) |
+---------------------------+------------------------------+-------------------------------+
| nmysql | eanm | mys |
+---------------------------+------------------------------+-------------------------------+
1 row in set (0.00 sec) MID(s, n, len) 与 SUBSTRING(s, n, len) 作用相同。
2.13 匹配子串开始位置的函数 LOCATE(str1, str)、POSITION(str1 IN str) 和 INSTR(str, str1)
3个函数的作用相同,返回子字符串str1在字符串str中的开始位置。
例:
mysql> select locate('el', 'helllo');
+------------------------+
| locate('el', 'helllo') |
+------------------------+
| 2 |
+------------------------+
1 row in set (0.00 sec)
2.14 字符串逆序的函数 REVERSE(s)
将字符串s反转。
例:
mysql> select reverse('hello');
+------------------+
| reverse('hello') |
+------------------+
| olleh |
+------------------+
1 row in set (0.00 sec)
2.15 返回指定位置的字符串函数 ELT(N, str1, str2, str3, ...)
若N=1,则返回值为str1,以此类推。
例:
mysql> select elt(2, 'a', 'b', 'c'), elt(4, 'a', 'b', 'c');
+-----------------------+-----------------------+
| elt(2, 'a', 'b', 'c') | elt(4, 'a', 'b', 'c') |
+-----------------------+-----------------------+
| b | NULL |
+-----------------------+-----------------------+
1 row in set (0.00 sec)
2.16 返回指定字符串位置的函数 FIELD(s, s1, s2, s3, ...)
返回字符串s在s1, s2, s3, .....中第一次出现的位置,在找不到s的情况下,返回值为0。
例:
mysql> select field('a', 'data', 'cbda');
+----------------------------+
| field('a', 'data', 'cbda') |
+----------------------------+
| 0 |
+----------------------------+
1 row in set (0.00 sec) mysql> select field('a', 'hello', 'a', 'very');
+----------------------------------+
| field('a', 'hello', 'a', 'very') |
+----------------------------------+
| 2 |
+----------------------------------+
1 row in set (0.00 sec)
2.17 返回子字符串位置的函数 FIND_IN_SET(s1, s2)
返回s1在s2中出现的位置。s2是个字符串列表,由 逗号 隔开。
例:
mysql> select find_in_set('e', 'hello');
+---------------------------+
| find_in_set('e', 'hello') |
+---------------------------+
| 0 |
+---------------------------+
1 row in set (0.00 sec) mysql> select find_in_set('e', 'h,e,ll,o');
+------------------------------+
| find_in_set('e', 'h,e,ll,o') |
+------------------------------+
| 2 |
+------------------------------+
1 row in set (0.00 sec)
2.18 选取字符串的函数 MAKE_SET(x, s1, s2, ...)
03-日期与时间函数
3.1 获取当前日期的函数 和 获取当前时间的函数
CURDATE() 和 CURRENT_DATE() 的作用相同,将当前日期按照 'YYYY-MM-DD' 或 YYYYMMDD 格式的值返回。
例:
mysql> select curdate(), current_date(), curdate()+0;
+------------+----------------+-------------+
| curdate() | current_date() | curdate()+0 |
+------------+----------------+-------------+
| 2019-07-23 | 2019-07-23 | 20190723 |
+------------+----------------+-------------+
1 row in set (0.02 sec)
注:CURDATE()+0 将当前日期值转换为数值型。 CURTIME() 和 CURRENT_TIME() 将当前时间以 'HH:MM:SS' 或 HHMMSS的格式返回。
例:
mysql> select curtime(), current_time(), curtime()+0;
+-----------+----------------+-------------+
| curtime() | current_time() | curtime()+0 |
+-----------+----------------+-------------+
| 15:52:13 | 15:52:13 | 155213 |
+-----------+----------------+-------------+
1 row in set (0.00 sec)
3.2 获取当前日期和时间的函数
CURRENT_TIMESTAMP()、LOCALTIME()、NOW()、SYSDATE()
4个函数的作用相同,均返回当前日期和时间的值。格式为:'YYYY-MM-DD HH:MM:SS' 或 YYYYMMDDHHMMSS。
例:
mysql> select current_timestamp(), localtime();
+---------------------+---------------------+
| current_timestamp() | localtime() |
+---------------------+---------------------+
| 2019-10-23 15:57:24 | 2019-10-23 15:57:24 |
+---------------------+---------------------+
1 row in set (0.00 sec) mysql> select now(), sysdate();
+---------------------+---------------------+
| now() | sysdate() |
+---------------------+---------------------+
| 2019-10-23 15:57:42 | 2019-10-23 15:57:42 |
+---------------------+---------------------+
1 row in set (0.00 sec)
3.3 UNIX时间戳函数
UTC_TIMESTAMP(date)
3.4 返回UTC日期的函数和返回UTC日期的函数
UTC_DATE()
UTC_TIME()
例:
mysql> select utc_date(), utc_date()+0;
+------------+--------------+
| utc_date() | utc_date()+0 |
+------------+--------------+
| 2019-10-23 | 20191023 |
+------------+--------------+
1 row in set (0.00 sec) mysql> select utc_time(), utc_time()+0;
+------------+--------------+
| utc_time() | utc_time()+0 |
+------------+--------------+
| 08:00:45 | 80045 |
+------------+--------------+
1 row in set (0.00 sec)
3.5 获取月份的函数 MONTH(date)和 MONTHNAME(date)
mysql> select month('2019-09-10'), monthname('2019-09-10');
+---------------------+-------------------------+
| month('2019-09-10') | monthname('2019-09-10') |
+---------------------+-------------------------+
| 9 | September |
+---------------------+-------------------------+
1 row in set (0.00 sec)
3.6 获取星期的函数 DAYNAME(d)、 DAYOFWEEK(d)、 WEEKDAY(d)
mysql> select dayname('2019-09-09'), dayofweek('2019-09-09'), weekday('2019-09-09');
+-----------------------+-------------------------+-----------------------+
| dayname('2019-09-09') | dayofweek('2019-09-09') | weekday('2019-09-09') |
+-----------------------+-------------------------+-----------------------+
| Monday | 2 | 0 |
+-----------------------+-------------------------+-----------------------+
1 row in set (0.00 sec)
3.7 获取星期数的函数 WEEK(d)、WEEKOFYEAR(d)
mysql> select week('2019-09-09'), weekofyear('2019-09-09');
+--------------------+--------------------------+
| week('2019-09-09') | weekofyear('2019-09-09') |
+--------------------+--------------------------+
| 36 | 37 |
+--------------------+--------------------------+
1 row in set (0.00 sec)
3.8 获取天数的函数 DAYOFYEAR(d)、DAYOFMONTH(d)
mysql> select dayofyear('2019-09-09'), dayofmonth('2019-09-09');
+-------------------------+--------------------------+
| dayofyear('2019-09-09') | dayofmonth('2019-09-09') |
+-------------------------+--------------------------+
| 252 | 9 |
+-------------------------+--------------------------+
1 row in set (0.00 sec)
3.9 获取年份、季度、小时、分钟 和 秒钟的函数
mysql> select year('2019-09-09'), quarter('2019-09-09'), minute('07:08:10'), second('07:08:10');
+--------------------+-----------------------+--------------------+--------------------+
| year('2019-09-09') | quarter('2019-09-09') | minute('07:08:10') | second('07:08:10') |
+--------------------+-----------------------+--------------------+--------------------+
| 2019 | 3 | 8 | 10 |
+--------------------+-----------------------+--------------------+--------------------+
1 row in set (0.00 sec)
3.10 获取日期指定值的函数 EXTRACT(type from date)
3.11 计算日期与时间的函数
3.12 将日期与时间格式化的函数 DATE_FORMAT(date, format)
04-条件判断函数
4.1 IF(expr, v1, v2)
mysql> select if(1>2, 'yes', 'no');
+----------------------+
| if(1>2, 'yes', 'no') |
+----------------------+
| no |
+----------------------+
1 row in set (0.00 sec)
4.2 IFNULL(v1, v2)函数
mysql> select ifnull(1, 2), ifnull(null, 2);
+--------------+-----------------+
| ifnull(1, 2) | ifnull(null, 2) |
+--------------+-----------------+
| 1 | 2 |
+--------------+-----------------+
1 row in set (0.01 sec)
4.3 CASE函数
05-系统信息函数
5.1 获取MySQL版本号、连接数和数据库名的函数
mysql> select version(), connection_id();
+-----------+-----------------+
| version() | connection_id() |
+-----------+-----------------+
| 5.7.28 | 5 |
+-----------+-----------------+
1 row in set (0.00 sec) mysql> show full processlist;
+----+--------------+-----------+---------+---------+------+----------+-----------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+--------------+-----------+---------+---------+------+----------+-----------------------+
| 5 | xxxxxxxxx | localhost | test_db | Query | 0 | starting | show full processlist |
+----+--------------+-----------+---------+---------+------+----------+-----------------------+
1 row in set (0.01 sec) mysql> select database(), schema();
+------------+----------+
| database() | schema() |
+------------+----------+
| test_db | test_db |
+------------+----------+
1 row in set (0.00 sec)
5.2 获取用户名的函数
mysql> select user(), current_user(), system_user();
+---------------+-----------------------------------+---------------+
| user() | current_user() | system_user() |
+---------------+-----------------------------------+---------------+
| huangyanpeng@ | skip-grants user@skip-grants host | huangyanpeng@ |
+---------------+-----------------------------------+---------------+
1 row in set (0.00 sec)
5.3 获取字符串的字符集和排序方式的函数
mysql> select charset('abc');
+----------------+
| charset('abc') |
+----------------+
| utf8 |
+----------------+
1 row in set (0.00 sec) COLLATION() 返回字符串的排列方式
5.4 获取最后一个自动生成ID值的函数
LAST_INSERT_ID() 自动返回最后一个insert、update或auto_increment列设置的第一个发生的值。
mysql> select last_insert_id();
+------------------+
| last_insert_id() |
+------------------+
| 0 |
+------------------+
1 row in set (0.00 sec)
06-加/解密函数
6.1 PASSWORD(str)
mysql> select password('abc');
+-------------------------------------------+
| password('abc') |
+-------------------------------------------+
| *0D3CED9BEC10A777AEC23CCC353A8C08A633045E |
+-------------------------------------------+
1 row in set, 1 warning (0.01 sec)
6.2 加密函数 MD5(str)
mysql> select md5('abc');
+----------------------------------+
| md5('abc') |
+----------------------------------+
| 900150983cd24fb0d6963f7d28e17f72 |
+----------------------------------+
1 row in set (0.01 sec)
6.3 加密函数 ENCODE(str, pswd_str)
使用pswd_str作为密码,加密str。
6.4 解密函数 DECODE(crypt_str, pswd_str)
使用pswd_str作为密码,解密加密字符串crypt_str。
04 MySQL之函数的更多相关文章
- mysql 日期函数总结
1.0 格式化:DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据. 语法 DATE_FORMAT(date,format) date 参数是合法的日期.format 规定日期/时间的 ...
- mysql常用函数参考
mysql常用函数参考 对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str) 返回字符串str的最左面字符的ASCII代码值.如果str是空字符串,返回0.如果str是NULL, ...
- Mysql时间函数
http://blog.sina.com.cn/s/blog_6d39dc6f0100m7eo.html mysql中函数和关键字不区分大小写.下文函数的datetime参数处既可以用时间字符串也可以 ...
- mysql日期函数(转)
MySQL 获得当前日期时间 函数 获得当前日期+时间(date + time)函数:now() mysql> select now(); +---------------------+ | n ...
- Mysql日期函数,时间函数使用的总结
一.MySQL 获得当前日期时间 函数 1.1 获得当前日期+时间(date + time)函数:now() mysql> select now();+--------------------- ...
- Oracle/Mysql/SqlServer函数区别
mysql日期和时间格式转换 Linux scp 使用详解 Oracle/Mysql/SqlServer函数区别 2011-07-01 12:34:36| 分类: Mysql技术 | 标签:mys ...
- MySQL单行函数
1.CONCAT(str1,str2,...) 返回来自于参数连结的字符串.如果任何参数是NULL,返回NULL.可以有超过2个的参数.一个数字参数被变换为等价的字符串形式. select CONC ...
- MySQL常用函数介绍
MySQL常用函数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.操作符介绍 1>.操作符优先级 mysql; +----------+ | +----------+ ...
- MySQL:日期函数、时间函数总结
MySQL 获得当前日期时间 函数 查询昨天,时间拼接 select concat(DATE_FORMAT(date_add(now(), interval -1 day),'%Y-%d-%d'),& ...
随机推荐
- Computer Vision_1_Active Appearance Models:Active Appearance Models——2001
此为计算机视觉部分,主要侧重在底层特征提取,视频分析,跟踪,目标检测和识别方面等方面. 1. Active Appearance Models 活动表观模型和活动轮廓模型基本思想来源 Snake,现在 ...
- python笔记:学习设置Python虚拟环境+配置 virtualenvwarpper+创建Python3.6的虚拟环境+安装numpy
虚拟环境它是一个虚拟化,从电脑独立开辟出来的环境.就是借助虚拟机docker来把一部分内容独立出来,我们把这部分独立出来的东西称作“容器”,在这个容器中,我们可以只安装我们需要的依赖包,各个容器之间互 ...
- linux 设备驱动与应用程序异步通知
一.异步通知机制简介 异步通知机制的意思:一旦设备准备就绪,可以主动的通知应用程序进行相应的操作,从而使得应用程序不必去查询设备的状态. 异步通知比较准确的称谓是"信号驱动的异步IO&quo ...
- C#中怎么将XML作为参数post到接口
String xml = "<data>中文</data>"; String postData = "data=" + Server.U ...
- c#使用 NServiceKit.Redis 封装 RedisHelper
在说StackExchange.Redis 的时候说了,因为我们的项目一直.net4.0不升级,没有办法,我说的不算,哈哈,又查了StackExchange.Redis在.net4.0使用麻烦,所以选 ...
- 性能分析之TCP全连接队列占满问题分析及优化过程(转载)
前言 在对一个挡板系统进行测试时,遇到一个由于TCP全连接队列被占满而影响系统性能的问题,这里记录下如何进行分析及解决的. 理解下TCP建立连接过程与队列 从图中明显可以看出建立 TCP 连接的时候, ...
- JLOI2016 侦查守卫
侦查守卫 小R和B神正在玩一款游戏.这款游戏的地图由 N 个点和 N-1 条无向边组成,每条无向边连接两个点,且地图是连通的.换句话说,游戏的地图是一棵有 N 个节点的树. 游戏中有一种道具叫做侦查守 ...
- 前端知识体系:JavaScript基础-一个原型继承例子
function Elem(id) { this.elem = document.getElementById(id); } Elem.prototype.html = function(val){ ...
- 引爆炸弹——DFS&&联通块
题目 链接 在一个$n \times m$方格地图上,某些方格上放置着炸弹.手动引爆一个炸弹以后,炸弹会把炸弹所在的行和列上的所有炸弹引爆,被引爆的炸弹又能引爆其他炸弹,这样连锁下去. 现在为了引爆地 ...
- IAT表和导入表
1.关于IAT(import address table)表 当exe程序中调用dll中的函数时,反汇编可以看到,call后面并不是跟的实际函数的地址,而是给了一个地址: