您现在的位置是:首页 > 编程 > 

mysql函数

2025-07-27 13:36:46
mysql函数 MySQL数据库中提供了很丰富的函数。MySQL函数包括数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数、加密函数、格式化函数等。通过这些函数,可以简化用户的操作。例如,字符串连接函数可以很方便的将多个字符串连接在一起。在这一讲中将讲解的内容包括:数学函数字符串函数日期和时间函数条件判断函数系统信息函数加密函数格式化函数 MySQL函数是MySQL数据库

mysql函数

MySQL数据库中提供了很丰富的函数。MySQL函数包括数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数、加密函数、格式化函数等。通过这些函数,可以简化用户的操作。例如,字符串连接函数可以很方便的将多个字符串连接在一起。在这一讲中将讲解的内容包括:

数学函数

字符串函数

日期和时间函数

条件判断函数

系统信息函数

加密函数

格式化函数

MySQL函数是MySQL数据库提供的内部函数。这些内部函数可以帮助用户更加方便的处理表中的数据。本小节中将简单介绍MySQL中包含哪几类函数,以及这几类函数的的使用范围和作用。MySQL函数包括数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数、加密函数等。SELECT语句及其条件表达式都可以使用这些函数。同时,ISERT 、UPDATE、DELECT语句及其条件表达式也可以使用这些函数。例如,表中的某个数据是负数,现在需要将这个数据显示为正数。这就可以使用绝对值函数。从上面可以知道,MySQL函数可以对表中数据进行相应的处理,以便得到用户希望得到的数据。这些函数可以使MySQL数据库的功能更加强大。

一、数学函数

数学函数是MySQL中常用的一类函数。主要用于处理数字,包括整型、浮点数等。数学函数包括绝对值函数、正弦函数、余弦函数、获取随机数的函数等。

ABS(X):返回X的绝对值

select ABS(-2);

mysql函数_字符串

MOD(,M)或%:返回被M除的余数。

select MOD(15,7);

select 15 % 7;

mysql函数_字符串_02

FLOOR(X):返回不大于X的最大整数值。

select FLOOR(1.2);

select FLOOR(-1.2);

mysql函数_mysql_0

CEILIG(X):返回不小于X的最小整数值。

select CEILIG(1.2);

select CEILIG(-1.2);

mysql函数_字符串_04

ROUD(X) :返回参数X的四舍五入的一个整数。

select ROUD(1.58);

select ROUD(-1.58);

mysql函数_数据_05
二、字符串函数

ASCII(str):返回字符串str的最左面字符的ASCII代码值。如果str是空字符串,返回0。如果str是ULL,返回ULL。

select ASCII('2');

select ASCII(2);

select ASCII('dx')

mysql函数_数据_06

COCAT(str1,str2,...):返回来自于参数连结的字符串。如果任何参数是ULL,返回ULL。可以有超过2个的参数。一个数字参数被变换为等价的字符串形式。

select COCAT('My', 'S', 'QL');

select COCAT('My', ULL, 'QL');

select COCAT(14.);

mysql函数_mysql_07

LEGTH(str):返回字符串str的长度。

select LEGTH('text');

mysql函数_mysql_08

LOCATE(substr,str):返回子串substr在字符串str第一个出现的位置,如果substr不是在str里面,返回0.

select LOCATE('bar', 'foobarbar');

select LOCATE('xbar', 'foobar');

mysql函数_字符串_09

ISTR(str,substr):返回子串substr在字符串str中的第一个出现的位置。

select ISTR('foobarbar', 'bar');

select ISTR('xbar', 'foobar');

mysql函数_数据_10

LEFT(str,len):返回字符串str的最左面len个字符。

select LEFT('foobarbar', 5);

mysql函数_数据_11

RIGHT(str,len):返回字符串str的最右面len个字符。

select RIGHT('foobarbar', 4);

mysql函数_字符串_12

SUBSTRIG(str,pos):从字符串str的起始位置pos返回一个子串。

select SUBSTRIG('Quadratically',5);

mysql函数_mysql_1

TRIM(str):返回字符串str,所有前缀或后缀被删除了。

select TRIM(' bar ');

mysql函数_数据_14

LTRIM(str):返回删除了其前置空格字符的字符串str。

select LTRIM(' barbar');

RTRIM(str):返回删除了其拖后空格字符的字符串str。

select RTRIM(‘barbar ’);

REPLACE(str,from_str,to_str):返回字符串str,其字符串from_str的所有出现由字符串to_str代替。

select REPLACE('', 'w', 'Ww');

mysql函数_mysql_15

REPEAT(str,count):返回由重复countTimes次的字符串str组成的一个字符串。如果count <= 0,返回一个空字符串。如果str或count是ULL,返回ULL。

select REPEAT('MySQL', );

mysql函数_数据_16

REVERSE(str):返回颠倒字符顺序的字符串str。

select REVERSE('abc');

mysql函数_字符串_17

ISERT(str,pos,len,newstr):返回字符串str,在位置pos起始的子串且len个字符长的子串由字符串newstr代替。

select ISERT(‘whatareyou', 5, , ‘is');

mysql函数_数据_18
三、日期和时间函数

DAYOFWEEK(date):返回日期date的星期索引(1=星期天,2=星期一, …7=星期六)。

select DAYOFWEEK('1998-02-0');

select DAYOFWEEK(now());

mysql函数_字符串_19

WEEKDAY(date):返回date的星期索引(0=星期一,1=星期二, ……6= 星期天)。

select WEEKDAY('1997-11-05');

mysql函数_字符串_20

DAYOFMOTH(date):返回date的月份中的日期,在1到1范围内。

select DAYOFMOTH('1998-02-0');

mysql函数_字符串_21

DAYOFYEAR(date):返回date在一年中的日数, 在1到66范围内。

select DAYOFYEAR('1998-02-0');

mysql函数_字符串_22

MOTH(date):返回date的月份,范围1到12。

select MOTH('1998-02-0');

mysql函数_字符串_22

DAYAME(date):返回date的星期名字。

select DAYAME("1998-02-05");

mysql函数_字符串_24

MOTHAME(date) :返回date的月份名字。

select MOTHAME("1998-02-05");

mysql函数_字符串_25

QUARTER(date):返回date一年中的季度,范围1到4。

select QUARTER('98-04-01');

mysql函数_数据_26

WEEK(date,first):对于星期天是一周的第一天的地方,有一个单个参数,返回date的周数,范围在0到52。2个参数形式WEEK()允许你指定星期是否开始于星期天或星期一。如果第二个参数是0,星期从星期天开始,如果第二个参数是1,从星期一开始。

select WEEK('2009-02-20');

select WEEK('2009-02-20',0);

select WEEK('2009-02-20',1);

mysql函数_数据_27

YEAR(date):返回date的年份,范围在1000到9999。

select YEAR('98-02-0');

mysql函数_mysql_28

HOUR(time):返回time的小时,范围是0到2。

select HOUR('10:05:0');

mysql函数_字符串_29

MIUTE(time):返回time的分钟,范围是0到59。

select MIUTE('98-02-0 10:05:0');

mysql函数_字符串_0

SECOD(time):回来time的秒数,范围是0到59。

select SECOD('10:05:0');

mysql函数_mysql_1

DATE_ADD(date,ITERVAL expr type) ,进行日期增加的操作,可以精确到秒

DATE_SUB(date,ITERVAL expr type) ,进行日期减少的操作,可以精确到秒

SELECT "1997-12-1 2:59:59" + ITERVAL 1 SECOD;

mysql函数_数据_2

SELECT ITERVAL 1 DAY + "1997-12-1";

SELECT "1998-01-01" - ITERVAL 1 SECOD;

SELECT DATE_ADD("1997-12-1 2:59:59", ITERVAL 1 SECOD);

SELECT DATE_ADD("1997-12-1 2:59:59", ITERVAL "1:1" MIUTE_SECOD);

mysql函数_mysql_

SELECT DATE_SUB("1998-01-01 00:00:00", ITERVAL "1 1:1:1" DAY_SECOD);

SELECT DATE_SUB("1998-01-02", ITERVAL 1 DAY);

mysql函数_mysql_4

CURRET_DATE:以‘YYYY-MM-DD’或YYYYMMDD格式返回今天日期值,取决于函数在一个字符串还是数字上下文被使用。

select CURDATE();

mysql函数_mysql_5

CURRET_TIME:以‘HH:MM:SS’或HHMMSS格式返回当前时间值

select CURTIME();

mysql函数_数据_6

OW():以‘YYYY-MM-DD HH:MM:SS’或YYYYMMDDHHMMSS格式返回当前的日期和时间

select OW();

mysql函数_数据_7
四、控制流程函数

CASE value WHE [compare-value] THE result [WHE [compare-value] THE result ...] [ELSE result] ED CASE WHE [condition] THE result [WHE [condition] THE result ...] [ELSE result] ED

在第一个方案的返回结果中, value=compare-value。而第二个方案的返回结果是第一种情况的真实结果。如果没有匹配的结果值,则返回结果为ELSE后的结果,如果没有ELSE 部分,则返回值为 ULL。

SELECT CASE 11 WHE 1 THE 'one'

WHE 2 THE 'two' ELSE 'more' ED;

SELECT CASE WHE 1>0 THE 'true' ELSE 'false' ED;

mysql函数_字符串_8

SELECT CASE BIARY 'B'

WHE 'a' THE 1 WHE 'b' THE 2 ED;

mysql函数_字符串_9

IF(expr1,expr2,expr)

如果 expr1 是TRUE (expr1 <> 0 and expr1 <> ULL),则 IF()的返回值为expr2; 否则返回值则为 expr。IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定。

SELECT IF(1>2,2,);

SELECT IF(1<2,'yes ','no');

SELECT IF(STRCMP('test','test1'),'no','yes');

mysql函数_字符串_40

Strcmp(str1,str2):如果str1>str2返回1,str1=str2反回0,str1<str2返回-1)

STRCMP(expr1,expr2)

如果字符串相同,STRCMP()返回0,如果第一参数根据当前的排序次序小于第二个,返回-1,否则返回1。

select STRCMP('text', 'text2');

select STRCMP('text2', 'text');

select STRCMP('text', 'text');

mysql函数_数据_41
五、系统信息函数

系统信息函数用来查询MySQL数据库的系统信息。例如,查询数据库的版本,查询数据库的当前用户等。本小节将详细讲解系统信息函数的作用和使用方法。

获取MySQL版本号、连接数、数据库名的函数

VERSIO()函数返回数据库的版本号;

mysql函数_字符串_42

COECTIO_ID()函数返回服务器的连接数,也就是到现在为止MySQL服务的连接次数;

mysql函数_字符串_4

DATABASE()和SCHEMA()返回当前数据库名。

mysql函数_字符串_44

获取用户名的函数

USER()、SYSTEM_USER()、SESSIO_USER()、CURRET_USER()和CURRET_USER这几个函数可以返回当前用户的名称。

mysql函数_字符串_45

获取字符串的字符集和排序方式的函数

CHARSET(str)函数返回字符串str的字符集,一般情况这个字符集就是系统的默认字符集;COLLATIO(str)函数返回字符串str的字符排列方式。

mysql函数_mysql_46
mysql函数_字符串_47

获取最后一个自动生成的ID值的函数

LAST_ISERT_ID()函数返回最后生成的AUTO_ICREMET值。

mysql函数_字符串_48
六、加密函数

加密函数是MySQL中用来对数据进行加密的函数。因为数据库中有些很敏感的信息不希望被其他人看到,就应该通过加密方式来使这些数据变成看似乱码的数据。例如用户的密码,就应该经过加密。本小节将详细讲解加密函数的作用和使用方法。

下面是各种加密函数的名称、作用和使用方法。

加密函数PASSWORD(str)

PASSWORD(str)函数可以对字符串str进行加密。一般情况下,PASSWORD(str)函数主要是用来给用户的密码加密的。下面使用PASSWORD(str)函数为字符串“abcd”加密。

mysql函数_mysql_49

加密函数MD5(str)

MD5(str)函数可以对字符串str进行加密。MD5(str)函数主要对普通的数据进行加密。下面使用MD5(str)函数为字符串“abcd”加密。

mysql函数_字符串_50

加密函数ECODE(str,pswd_str)

ECODE(str,pswd_str)函数可以使用字符串pswd_str来加密字符串str。加密的结果是一个二进制数,必须使用BLOB类型的字段来保存它。

解密函数

DECODE(crypt_str,pswd_str)函数可以使用字符串pswd_str来为crypt_str解密。crypt_str是通过ECODE(str,pswd_str)加密后的二进制数据。字符串pswd_str应该与加密时的字符串pswd_str是相同的。下面使用DECODE(crypt_str,pswd_str)为ECODE(str,pswd_str)加密的数据解密。

mysql函数_mysql_51
七、其它函数

格式化函数FORMAT(x,n)

FORMAT(x,n)函数可以将数字x进行格式化,将x保留到小数点后n位。这个过程需要进行四舍五入。例如FORMAT(2.56,2)返回的结果将会是2.6;FORMAT(2.5,2)返回的结果将会是2.5。下面使用FORMAT(x,n)函数来讲25.456和25.454进行格式化,都保留到小数点后位。

mysql函数_数据_52

不同进制的数字进行转换的函数

ASCII(s)返回字符串s的第一个字符的ASCII码;BI(x)返回x的二进制编码;HEX(x)返回x的十六进制编码;OCT(x)返回x的八进制编码;COV(x,f1,f2)将x从f1进制数变成f2进制数。

mysql函数_mysql_5

和下面的

mysql函数_数据_54

IP地址与数字相互转换的函数

IET_ATO(IP)函数可以将IP地址转换为数字表示;IET_TOA(n)函数可以将数字n转换成IP的形式。其中,IET_ATO(IP)函数中IP值需要加上引号。这两个函数互为反函数。

mysql函数_字符串_55

加锁函数和解锁函数

GET_LOCT(name,time)函数定义一个名称为nam、持续时间长度为time秒的锁。如果锁定成功,返回1;如果尝试超时,返回0;如果遇到错误,返回ULL。RELEASE_LOCK(name)函数解除名称为name的锁。如果解锁成功,返回1;如果尝试超时,返回0;如果解锁失败,返回ULL;IS_FREE_LOCK(name)函数判断是否使用名为name的锁。如果使用,返回0;否则,返回1。

重复执行指定操作的函数

BECHMARK(count,expr)函数将表达式expr重复执行count次,然后返回执行时间。该函数可以用来判断MySQL处理表达式的速度。

mysql函数_mysql_56

改变字符集的函数

COVERT(s USIG cs)函数将字符串s的字符集变成cs

mysql函数_字符串_57

CAST(x AS type)和COVERT(x,type)这两个函数将x变成type类型。这两个函数只对BIARY、CHAR、DATE、DATETIME、TIME、SIGED ITEGER、USIGED ITEGER这些类型起作用。但两种方法只是改变了输出值的数据类型,并没有改变表中字段的类型。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2022-0-09,如有侵权请联系 cloudcommunity@tencent 删除加密数据字符串mysql函数

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1242740.html

相关标签:无
上传时间: 2025-07-27 05:30:32
留言与评论(共有 13 条评论)
本站网友 熊丽
2分钟前 发表
expr)函数将表达式expr重复执行count次
本站网友 刘永好的女儿
9分钟前 发表
范围1到4
本站网友 长深高速公路
29分钟前 发表
select CURDATE(); mysql函数_mysql_5CURRET_TIME
本站网友 宁愿相信世界上有鬼
9分钟前 发表
select SECOD('10
本站网友 水银体温计
12分钟前 发表
例如FORMAT(2.56
本站网友 今天哪地震了
5分钟前 发表
系统信息函数
本站网友 第一装备网
26分钟前 发表
因为数据库中有些很敏感的信息不希望被其他人看到
本站网友 美丽心世界
6分钟前 发表
但两种方法只是改变了输出值的数据类型
本站网友 端午节股市
3分钟前 发表
在位置pos起始的子串且len个字符长的子串由字符串newstr代替
本站网友 butthole
30分钟前 发表
字符串连接函数可以很方便的将多个字符串连接在一起
本站网友 鸭肉和什么相克
21分钟前 发表
RELEASE_LOCK(name)函数解除名称为name的锁
本站网友 2012年房贷利率
2分钟前 发表
同时