4. 尚硅谷_MySQL__常见函数
MySQL函数大全

ASCII(str)返回字符串str的第一个字符的ASCII值(str是空串时返回0)mysql> select ASCII('2');-> 50mysql> select ASCII(2);-> 50mysql> select ASCII('dete');-> 100ORD(str)如果字符串str句首是单字节返回与ASCII()函数返回的相同值。
如果是一个多字节字符,以格式返回((first byte ASCII code)*256+(second byte ASCII code))[*256+third byte ASCII code...]mysql> select ORD('2');-> 50CONV(N,from_base,to_base)对数字N进制转换,并转换为字串返回(任何参数为NULL时返回NULL,进制范围为2-36进制,当to_base是负数时N作为有符号数否则作无符号数,CONV以64位点精度工作) mysql> select CONV("a",16,2);-> '1010'mysql> select CONV("6E",18,8);-> '172'mysql> select CONV(-17,10,-18);-> '-H'mysql> select CONV(10+"10"+'10'+0xa,10,10);-> '40'BIN(N)把N转为二进制值并以字串返回(N是BIGINT数字,等价于CONV(N,10,2))mysql> select BIN(12);-> '1100'OCT(N)把N转为八进制值并以字串返回(N是BIGINT数字,等价于CONV(N,10,8))mysql> select OCT(12);-> '14'HEX(N)把N转为十六进制并以字串返回(N是BIGINT数字,等价于CONV(N,10,16))mysql> select HEX(255);-> 'FF'返回由参数N,...对应的ASCII代码字符组成的一个字串(参数是N,...是数字序列,NULL值被跳过)mysql> select CHAR(77,121,83,81,'76');-> 'MySQL'mysql> select CHAR(77,77.3,'77.3');-> 'MMM'CONCA T(str1,str2,...)把参数连成一个长字符串并返回(任何参数是NULL时返回NULL)mysql> select CONCAT('My', 'S', 'QL');-> 'MySQL'mysql> select CONCAT('My', NULL, 'QL');-> NULLmysql> select CONCAT(14.3);-> '14.3'LENGTH(str)OCTET_LENGTH(str)CHAR_LENGTH(str)CHARACTER_LENGTH(str)返回字符串str的长度(对于多字节字符CHAR_LENGTH仅计算一次)mysql> select LENGTH('text');-> 4mysql> select OCTET_LENGTH('text');-> 4LOCATE(substr,str)POSITION(substr IN str)返回字符串substr在字符串str第一次出现的位置(str不包含substr时返回0)mysql> select LOCATE('bar', 'foobarbar');-> 4mysql> select LOCATE('xbar', 'foobar');-> 0LOCATE(substr,str,pos)返回字符串substr在字符串str的第pos个位置起第一次出现的位置(str不包含substr时返回0)mysql> select LOCATE('bar', 'foobarbar',5);-> 7INSTR(str,substr)返回字符串substr在字符串str第一次出现的位置(str不包含substr时返回0)mysql> select INSTR('foobarbar', 'bar');-> 4mysql> select INSTR('xbar', 'foobar');-> 0LPAD(str,len,padstr)用字符串padstr填补str左端直到字串长度为len并返回mysql> select LPAD('hi',4,'??');-> '??hi'RPAD(str,len,padstr)用字符串padstr填补str右端直到字串长度为len并返回mysql> select RPAD('hi',5,'?');-> 'hi???'LEFT(str,len)返回字符串str的左端len个字符mysql> select LEFT('foobarbar', 5);-> 'fooba'RIGHT(str,len)返回字符串str的右端len个字符mysql> select RIGHT('foobarbar', 4);-> 'rbar'SUBSTRING(str,pos,len)SUBSTRING(str FROM pos FOR len)MID(str,pos,len)返回字符串str的位置pos起len个字符(使用FROM的丑陋语法是ANSI SQL92标准) mysql> select SUBSTRING('Quadratically',5,6);-> 'ratica'SUBSTRING(str,pos)SUBSTRING(str FROM pos)返回字符串str的位置pos起的一个子串mysql> select SUBSTRING('Quadratically',5);-> 'ratically'mysql> select SUBSTRING('foobarbar' FROM 4);-> 'barbar'SUBSTRING_INDEX(str,delim,count)返回从字符串str的第count个出现的分隔符delim之后的子串(count为正数时返回左端,否则返回右端子串)mysql> select SUBSTRING_INDEX('', '.', 2);-> 'www.mysql'mysql> select SUBSTRING_INDEX('', '.', -2);-> ''LTRIM(str)返回删除了左空格的字符串strmysql> select LTRIM(' barbar');-> 'barbar'RTRIM(str)返回删除了右空格的字符串strmysql> select RTRIM('barbar ');-> 'barbar'TRIM([[BOTH | LEADING | TRAILING] [remstr] FROM] str)返回前缀或后缀remstr被删除了的字符串str(位置参数默认BOTH,remstr默认值为空格) mysql> select TRIM(' bar ');-> 'bar'mysql> select TRIM(LEADING 'x' FROM 'xxxbarxxx');-> 'barxxx'mysql> select TRIM(BOTH 'x' FROM 'xxxbarxxx');-> 'bar'mysql> select TRIM(TRAILING 'xyz' FROM 'barxxyz');-> 'barx'SOUNDEX(str)返回str的一个同音字符串(听起来“大致相同”字符串有相同的同音字符串,非数字字母字符被忽略,在A-Z外的字母被当作元音)mysql> select SOUNDEX('Hello');-> 'H400'mysql> select SOUNDEX('Quadratically');-> 'Q36324'SPACE(N)返回由N个空格字符组成的一个字符串mysql> select SPACE(6);-> ' 'REPLACE(str,from_str,to_str)用字符串to_str替换字符串str中的子串from_str并返回mysql> select REPLACE('', 'w', 'Ww');-> ''REPEAT(str,count)返回由count个字符串str连成的一个字符串(任何参数为NULL时返回NULL,count<=0时返回一个空字符串)mysql> select REPEA T('MySQL', 3);-> 'MySQLMySQLMySQL'REVERSE(str)颠倒字符串str的字符顺序并返回mysql> select REVERSE('abc');-> 'cba'INSERT(str,pos,len,newstr)把字符串str由位置pos起len个字符长的子串替换为字符串newstr并返回mysql> select INSERT('Quadratic', 3, 4, 'What');-> 'QuWhattic'ELT(N,str1,str2,str3,...)返回第N个字符串(N小于1或大于参数个数返回NULL)mysql> select ELT(1, 'ej', 'Heja', 'hej', 'foo');-> 'ej'mysql> select ELT(4, 'ej', 'Heja', 'hej', 'foo');-> 'foo'FIELD(str,str1,str2,str3,...)返回str等于其后的第N个字符串的序号(如果str没找到返回0)mysql> select FIELD('ej', 'Hej', 'ej', 'Heja', 'hej', 'foo');-> 2mysql> select FIELD('fo', 'Hej', 'ej', 'Heja', 'hej', 'foo');-> 0FIND_IN_SET(str,strlist)返回str在字符串集strlist中的序号(任何参数是NULL则返回NULL,如果str没找到返回0,参数1包含","时工作异常)mysql> SELECT FIND_IN_SET('b','a,b,c,d');-> 2MAKE_SET(bits,str1,str2,...)把参数1的数字转为二进制,假如某个位置的二进制位等于1,对应位置的字串选入字串集并返回(NULL串不添加到结果中)mysql> SELECT MAKE_SET(1,'a','b','c');-> 'a'mysql> SELECT MAKE_SET(1 | 4,'hello','nice','world');-> 'hello,world'mysql> SELECT MAKE_SET(0,'a','b','c');-> ''EXPORT_SET(bits,on,off,[separator,[number_of_bits]])按bits排列字符串集,只有当位等于1时插入字串on,否则插入off(separator默认值",",number_of_bits参数使用时长度不足补0而过长截断)mysql> select EXPORT_SET(5,'Y','N',',',4)-> Y,N,Y,NLCASE(str)LOWER(str)返回小写的字符串strmysql> select LCASE('QUADRATICALL Y');-> 'quadratically'UCASE(str)UPPER(str)返回大写的字符串strmysql> select UCASE('quadratically');-> 'QUADRATICALL Y'LOAD_FILE(file_name)读入文件并且作为一个字符串返回文件内容(文件无法找到,路径不完整,没有权限,长度大于max_allowed_packet会返回NULL)mysql> UPDATE table_name SET blob_column=LOAD_FILE("/tmp/picture") WHERE id=1;[color=red]数学函数[/color]ABS(N)返回N的绝对值mysql> select ABS(2);-> 2mysql> select ABS(-32);-> 32SIGN(N)返回参数的符号(为-1、0或1)mysql> select SIGN(-32);-> -1mysql> select SIGN(0);-> 0mysql> select SIGN(234);-> 1MOD(N,M)取模运算,返回N被M除的余数(同%操作符)mysql> select MOD(234, 10);-> 4mysql> select 234 % 10;-> 4mysql> select MOD(29,9);-> 2FLOOR(N)返回不大于N的最大整数值mysql> select FLOOR(1.23);-> 1mysql> select FLOOR(-1.23);-> -2CEILING(N)返回不小于N的最小整数值mysql> select CEILING(1.23);-> 2mysql> select CEILING(-1.23);-> -1ROUND(N,D)返回N的四舍五入值,保留D位小数(D的默认值为0) mysql> select ROUND(-1.23);-> -1mysql> select ROUND(-1.58);-> -2mysql> select ROUND(1.58);-> 2mysql> select ROUND(1.298, 1);-> 1.3mysql> select ROUND(1.298, 0);-> 1EXP(N)返回值e的N次方(自然对数的底)mysql> select EXP(2);-> 7.389056mysql> select EXP(-2);-> 0.135335LOG(N)返回N的自然对数mysql> select LOG(2);-> 0.693147mysql> select LOG(-2);LOG10(N)返回N以10为底的对数mysql> select LOG10(2);-> 0.301030mysql> select LOG10(100);-> 2.000000mysql> select LOG10(-100);-> NULLPOW(X,Y)POWER(X,Y)返回值X的Y次幂mysql> select POW(2,2);-> 4.000000mysql> select POW(2,-2);-> 0.250000SQRT(N)返回非负数N的平方根mysql> select SQRT(4);-> 2.000000mysql> select SQRT(20);-> 4.472136PI()返回圆周率mysql> select PI();-> 3.141593COS(N)返回N的余弦值mysql> select COS(PI());-> -1.000000SIN(N)返回N的正弦值mysql> select SIN(PI());-> 0.000000TAN(N)返回N的正切值mysql> select TAN(PI()+1);ACOS(N)返回N反余弦(N是余弦值,在-1到1的范围,否则返回NULL) mysql> select ACOS(1);-> 0.000000mysql> select ACOS(1.0001);-> NULLmysql> select ACOS(0);-> 1.570796ASIN(N)返回N反正弦值mysql> select ASIN(0.2);-> 0.201358mysql> select ASIN('foo');-> 0.000000ATAN(N)返回N的反正切值mysql> select ATAN(2);-> 1.107149mysql> select ATAN(-2);-> -1.107149ATAN2(X,Y)返回2个变量X和Y的反正切(类似Y/X的反正切,符号决定象限) mysql> select ATAN(-2,2);-> -0.785398mysql> select ATAN(PI(),0);-> 1.570796COT(N)返回X的余切mysql> select COT(12);-> -1.57267341mysql> select COT(0);-> NULLRAND()RAND(N)返回在范围0到1.0内的随机浮点值(可以使用数字N作为初始值) mysql> select RAND();-> 0.5925mysql> select RAND(20);mysql> select RAND(20);-> 0.1811mysql> select RAND();-> 0.2079mysql> select RAND();-> 0.7888DEGREES(N)把N从弧度变换为角度并返回mysql> select DEGREES(PI());-> 180.000000RADIANS(N)把N从角度变换为弧度并返回mysql> select RADIANS(90);-> 1.570796TRUNCATE(N,D)保留数字N的D位小数并返回mysql> select TRUNCA TE(1.223,1);-> 1.2mysql> select TRUNCA TE(1.999,1);-> 1.9mysql> select TRUNCA TE(1.999,0);-> 1LEAST(X,Y,...)返回最小值(如果返回值被用在整数(实数或大小敏感字串)上下文或所有参数都是整数(实数或大小敏感字串)则他们作为整数(实数或大小敏感字串)比较,否则按忽略大小写的字符串被比较)mysql> select LEAST(2,0);-> 0mysql> select LEAST(34.0,3.0,5.0,767.0);-> 3.0mysql> select LEAST("B","A","C");-> "A"GREATEST(X,Y,...)返回最大值(其余同LEAST())mysql> select GREATEST(2,0);-> 2mysql> select GREATEST(34.0,3.0,5.0,767.0);-> 767.0-> "C"[color=red]时期时间函数[/color]DAYOFWEEK(date)返回日期date是星期几(1=星期天,2=星期一,……7=星期六,ODBC标准) mysql> select DAYOFWEEK('1998-02-03');-> 3WEEKDAY(date)返回日期date是星期几(0=星期一,1=星期二,……6= 星期天)。
MYSQL函数库大全

mysql> select REVERSE('abc');
-> 'cba'
INSERT(str,pos,len,newstr)
把字符串str由位置pos起len个字符长的子串替换为字符串newstr并返回
mysql> select INSERT('Quadratic', 3, 4, 'What');
-> 'hi???'
LEFT(str,len)
返回字符串str的左端len个字符
mysql> select LEFT('foobarbar', 5);
-> 'fooba'
RIGHT(str,len)
返回字符串str的右端len个字符
mysql> select RIGHT('foobarbar', 4);
-> 'rbar'
SUBSTRING(str,pos,len)
SUBSTห้องสมุดไป่ตู้ING(str FROM pos FOR len)
MID(str,pos,len)
返回字符串str的位置pos起len个字符(使用FROM的丑陋语法是ANSI SQL92标准)
mysql> select SUBSTRING('Quadratically',5,6);
-> 0
FIND_IN_SET(str,strlist)
返回str在字符串集strlist中的序号(任何参数是NULL则返回NULL,如果str没找到返回0,参数1包含","时工作异常)
MySQL常用函数大全讲解

MySQL常⽤函数⼤全讲解MySQL数据库中提供了很丰富的函数。
MySQL函数包括数学函数、字符串函数、⽇期和时间函数、条件判断函数、系统信息函数、加密函数、格式化函数等。
通过这些函数,可以简化⽤户的操作。
例如,字符串连接函数可以很⽅便的将多个字符串连接在⼀起。
在这⼀讲中将讲解的内容包括:数学函数字符串函数⽇期和时间函数条件判断函数系统信息函数加密函数格式化函数MySQL函数是MySQL数据库提供的内部函数。
这些内部函数可以帮助⽤户更加⽅便的处理表中的数据。
本⼩节中将简单介绍MySQL中包含哪⼏类函数,以及这⼏类函数的的使⽤范围和作⽤。
MySQL函数包括数学函数、字符串函数、⽇期和时间函数、条件判断函数、系统信息函数、加密函数等。
SELECT语句及其条件表达式都可以使⽤这些函数。
同时,INSERT 、UPDATE、DELECT语句及其条件表达式也可以使⽤这些函数。
例如,表中的某个数据是负数,现在需要将这个数据显⽰为正数。
这就可以使⽤绝对值函数。
从上⾯可以知道,MySQL函数可以对表中数据进⾏相应的处理,以便得到⽤户希望得到的数据。
这些函数可以使MySQL数据库的功能更加强⼤。
⼀、数学函数数学函数是MySQL中常⽤的⼀类函数。
主要⽤于处理数字,包括整型、浮点数等。
数学函数包括绝对值函数、正弦函数、余弦函数、获取随机数的函数等。
ABS(X):返回X的绝对值select ABS(-32);MOD(N,M)或%:返回N被M除的余数。
select MOD(15,7);select 15 % 7;FLOOR(X):返回不⼤于X的最⼤整数值。
select FLOOR(1.23);select FLOOR(-1.23);CEILING(X):返回不⼩于X的最⼩整数值。
select CEILING(1.23);select CEILING(-1.23);ROUND(X) :返回参数X的四舍五⼊的⼀个整数。
select ROUND(1.58);select ROUND(-1.58);⼆、字符串函数ASCII(str):返回字符串str的最左⾯字符的ASCII代码值。
MySQL常用函数和操作符介绍

MySQL常用函数和操作符介绍MySQL是一种广泛使用的关系型数据库管理系统,具有强大的功能和灵活的操作方式。
在实际应用中,我们经常需要使用MySQL的函数和操作符来处理和操作数据库中的数据。
本文将介绍一些常用的MySQL函数和操作符,帮助读者更好地理解和使用MySQL。
一、函数介绍1. 字符串函数MySQL提供了丰富的字符串函数,用于处理和操作字符串数据。
以下是一些常用的字符串函数:- CONCAT:用于将多个字符串连接在一起。
- LENGTH:返回字符串的长度。
- SUBSTR:截取字符串的一部分。
- REPLACE:替换字符串中的指定字符。
- UPPER和LOWER:将字符串转换为大写或小写。
- TRIM:去除字符串两边的空格。
2. 数学函数MySQL提供了各种数学函数,供我们在数据库中进行数值计算和处理。
以下是一些常用的数学函数:- ABS:返回一个数的绝对值。
- ROUND:对一个数进行四舍五入。
- FLOOR和CEILING:向下或向上取整。
- SQRT:返回一个数的平方根。
- POWER:计算一个数的指定次方。
3. 日期和时间函数MySQL提供了丰富的日期和时间函数,用于处理和操作日期时间类型的数据。
以下是一些常用的日期和时间函数:- NOW:返回当前日期和时间。
- DATE:从一个日期时间值中提取日期部分。
- TIME:从一个日期时间值中提取时间部分。
- YEAR、MONTH和DAY:分别返回给定日期的年、月和日。
- DATE_ADD和DATE_SUB:在给定日期上增加或减少指定的时间间隔。
4. 聚合函数聚合函数是对一组值进行操作并返回一个单一值的函数。
在MySQL中,常用的聚合函数有:- COUNT:统计指定列或表中的行数。
- SUM、AVG和MAX:分别计算指定列或表中数值列的总和、平均值和最大值。
- MIN:找出指定列或表中数值列的最小值。
二、操作符介绍除了函数外,操作符也是MySQL中非常重要的一部分。
mysql运算函数

mysql运算函数MySQL是一个常用的关系型数据库管理系统,它提供了多种运算函数来执行各种数学运算。
下面是MySQL中常用的一些运算函数:1.ABS函数:用于返回一个数的绝对值。
例如,ABS(-5)返回52.CEIL函数:用于返回大于等于给定数的最小整数。
例如,CEIL(4.3)返回53.FLOOR函数:用于返回小于等于给定数的最大整数。
例如,FLOOR(4.8)返回44.ROUND函数:用于将给定数四舍五入到指定的小数位数。
例如,ROUND(4.567,2)返回4.575.DIV函数:用于返回两个数相除的整数部分。
例如,DIV(10,3)返回36.MOD函数:用于返回两个数相除的余数。
例如,MOD(10,3)返回17.POW函数:用于返回一个数的指定次幂。
例如,POW(2,3)返回88.SQRT函数:用于返回一个数的平方根。
例如,SQRT(9)返回39.RAND函数:用于返回一个介于0和1之间的随机数。
例如,RAND(返回0.546710.ASCII函数:用于返回一个字符的ASCII码值。
例如,ASCII('A')返回6511.CHAR函数:用于返回一个指定ASCII码值的字符。
例如,CHAR(65)返回'A'。
12. LENGTH函数:用于返回一个字符串的字符个数。
例如,LENGTH('Hello')返回513. CONCAT函数:用于将多个字符串连接成一个字符串。
例如,CONCAT('Hello', 'World')返回'HelloWorld'。
14. UPPER函数:用于将一个字符串转换为大写。
例如,UPPER('hello')返回'HELLO'。
15. LOWER函数:用于将一个字符串转换为小写。
例如,LOWER('WORLD')返回'world'。
mysql中常用函数

mysql中常用函数函数是MySQL中非常重要的一部分,它们可以帮助我们更方便、更高效地操作数据库。
下面是MySQL中常用函数的详细介绍:1.字符串函数:1.1 CONCAT:将两个或多个字符串连接起来。
语法:CONCAT(string1,string2,...)示例:SELECT CONCAT('Hello',' ','World'); //输出结果为'Hello World'1.2 SUBSTRING:返回一个字符串的子串。
语法:SUBSTRING(string,start,length)示例:SELECT SUBSTRING('Hello World',7,5); //输出结果为'World'1.3 REPLACE:替换一个字符串中的所有匹配项。
语法:REPLACE(string,old,new)示例:SELECT REPLACE('Hello World','World','MySQL'); //输出结果为'Hello MySQL'2.数值函数:2.1 ABS:返回一个数的绝对值。
语法:ABS(number)示例:SELECT ABS(-10); //输出结果为102.2 CEILING/FLOOR:向上/向下取整。
语法:CEILING(number) / FLOOR(number)示例:SELECT CEILING(3.14); //输出结果为42.3 RAND:返回一个随机数。
语法:RAND()示例:SELECT RAND(); //输出结果为0-1之间的随机数3.日期和时间函数:3.1 NOW/CURDATE/CURTIME: 返回当前日期/时间信息。
语法: NOW() / CURDATE() / CURTIME()示例: SELECT NOW(); // 输出结果为当前日期和时间3.2 DATE_FORMAT: 格式化日期和时间信息。
MySQL数据库常用函数大全
MySQL数据库常用函数大全字符串函数字符串函数是最常用的一种函数,MySQL支持很多种字符串函数。
下列是MySQL支持的字符串函数表。
1、LOWER(str) 和UPPER(str)函数:用于转换大小写。
2、CONCAT(s1,s2…sn): 把传入的参数拼接成一个字符串。
任何和NULL进行字符串拼接的结果都是NULL。
3、LEFT(str,x) 和RIGHT(str,x) 函数:分别返回字符串最左边的x个字符和最右边的x个字符。
如果第二个参数是NULL,那么将不会返回任何字符串。
4、INSERT(str,x,y,instr): 将字符串str 从指定x的位置开始,取y个长度的字串替换为instr。
5、LTRIM(str)和RTRIM(str)分别表示去掉字符串str左侧和右侧的空格。
6、REPEAT(str,x)函数:返回str 重复x次的结果。
7、TRIM(str)函数,用于去掉目标字符串的空格。
8、SUBSTRING(str,x,y)函数,返回从字符串str中第x位置起y个字符长度的字符串。
9、LPAD(str,n,pad)和RPAD(str,n,pad)函数,用字符串pad对str左边和右边进行填充,直到长度为n个字符长度。
10、STRCMP(s1,s2)用于比较字符串s1和s2的ASCII值大小。
如果s1<s2,则返回-1,如果s1=s2,则返回0,如果s1>s2,则返回1。
11、REPLACE(str,a,b),用字符串b替换字符串str中所有出现的字符串a。
数值函数MySQL支持数值函数,这些函数能够处理很多数值运算。
1、A B S ( x )函数,返回x 的绝对值2、C E I L ( x )函数,返回大于x 的整数。
、M O D ( x , y ),对x 和y 进行取模操作。
、R O U N D ( x , y )返回x 四舍五入后保留位小数的值,如果是整数,那么y 为就是0,如不指定,那么y 默认也是0。
Mysql常用函数大全(分类汇总讲解)
Mysql常⽤函数⼤全(分类汇总讲解)⼀、数学函数ABS(x)返回x的绝对值BIN(x)返回x的⼆进制(OCT返回⼋进制,HEX返回⼗六进制)CEILING(x)返回⼤于x的最⼩整数值EXP(x) 返回值e(⾃然对数的底)的x次⽅FLOOR(x)返回⼩于x的最⼤整数值GREATEST(x1,x2,...,xn)返回集合中最⼤的值LEAST(x1,x2,...,xn) 返回集合中最⼩的值LN(x) 返回x的⾃然对数LOG(x,y)返回x的以y为底的对数MOD(x,y) 返回x/y的模(余数)PI()返回pi的值(圆周率)RAND()返回0到1内的随机值,可以通过提供⼀个参数(种⼦)使RAND()随机数⽣成器⽣成⼀个指定的值。
ROUND(x,y)返回参数x的四舍五⼊的有y位⼩数的值SIGN(x) 返回代表数字x的符号的值SQRT(x) 返回⼀个数的平⽅根TRUNCATE(x,y) 返回数字x截短为y位⼩数的结果⼆、聚合函数(常⽤于GROUP BY从句的SELECT查询中)AVG(col)返回指定列的平均值COUNT(col)返回指定列中⾮NULL值的个数MIN(col)返回指定列的最⼩值MAX(col)返回指定列的最⼤值SUM(col)返回指定列的所有值之和GROUP_CONCAT(col) 返回由属于⼀组的列值连接组合⽽成的结果三、字符串函数ASCII(char)返回字符的ASCII码值BIT_LENGTH(str)返回字符串的⽐特长度CONCAT(s1,s2...,sn)将s1,s2...,sn连接成字符串CONCAT_WS(sep,s1,s2...,sn)将s1,s2...,sn连接成字符串,并⽤sep字符间隔INSERT(str,x,y,instr) 将字符串str从第x位置开始,y个字符长的⼦串替换为字符串instr,返回结果FIND_IN_SET(str,list)分析逗号分隔的list列表,如果发现str,返回str在list中的位置LCASE(str)或LOWER(str) 返回将字符串str中所有字符改变为⼩写后的结果LEFT(str,x)返回字符串str中最左边的x个字符LENGTH(s)返回字符串str中的字符数LTRIM(str) 从字符串str中切掉开头的空格POSITION(substr,str)返回⼦串substr在字符串str中第⼀次出现的位置QUOTE(str) ⽤反斜杠转义str中的单引号REPEAT(str,srchstr,rplcstr)返回字符串str重复x次的结果REVERSE(str) 返回颠倒字符串str的结果RIGHT(str,x) 返回字符串str中最右边的x个字符RTRIM(str)返回字符串str尾部的空格STRCMP(s1,s2)⽐较字符串s1和s2TRIM(str)去除字符串⾸部和尾部的所有空格UCASE(str)或UPPER(str) 返回将字符串str中所有字符转变为⼤写后的结果四、⽇期和时间函数CURDATE()或CURRENT_DATE() 返回当前的⽇期CURTIME()或CURRENT_TIME() 返回当前的时间DATE_ADD(date,INTERVAL int keyword)返回⽇期date加上间隔时间int的结果(int必须按照关键字进⾏格式化),如:SELECTDATE_ADD(CURRENT_DATE,INTERVAL 6 MONTH);DATE_FORMAT(date,fmt) 依照指定的fmt格式格式化⽇期date值DATE_SUB(date,INTERVAL int keyword)返回⽇期date加上间隔时间int的结果(int必须按照关键字进⾏格式化),如:SELECTDATE_SUB(CURRENT_DATE,INTERVAL 6 MONTH);DAYOFWEEK(date)返回date所代表的⼀星期中的第⼏天(1~7)DAYOFMONTH(date) 返回date是⼀个⽉的第⼏天(1~31)DAYOFYEAR(date)返回date是⼀年的第⼏天(1~366)DAYNAME(date)返回date的星期名,如:SELECT DAYNAME(CURRENT_DATE);FROM_UNIXTIME(ts,fmt) 根据指定的fmt格式,格式化UNIX时间戳tsHOUR(time) 返回time的⼩时值(0~23)MINUTE(time) 返回time的分钟值(0~59)MONTH(date) 返回date的⽉份值(1~12)MONTHNAME(date) 返回date的⽉份名,如:SELECT MONTHNAME(CURRENT_DATE);NOW() 返回当前的⽇期和时间QUARTER(date) 返回date在⼀年中的季度(1~4),如SELECT QUARTER(CURRENT_DATE);WEEK(date) 返回⽇期date为⼀年中第⼏周(0~53)YEAR(date) 返回⽇期date的年份(1000~9999)⼀些⽰例:获取当前系统时间:SELECT FROM_UNIXTIME(UNIX_TIMESTAMP());SELECT EXTRACT(YEAR_MONTH FROM CURRENT_DATE);SELECT EXTRACT(DAY_SECOND FROM CURRENT_DATE);SELECT EXTRACT(HOUR_MINUTE FROM CURRENT_DATE);返回两个⽇期值之间的差值(⽉数):SELECT PERIOD_DIFF(200302,199802);在Mysql中计算年龄:SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(birthday)),'%Y')+0 AS age FROM employee;这样,如果Brithday是未来的年⽉⽇的话,计算结果为0。
mysql常用的内置函数的用法
mysql常用的内置函数的用法MySQL是一种常用的关系型数据库管理系统,它提供了许多内置函数,用于处理和操作数据库中的数据。
本文将介绍一些常用的MySQL内置函数及其用法。
1. COUNT函数:用于统计某个列或表中的行数。
语法如下:SELECT COUNT(column_name) FROM table_name;例如,统计一个学生表中的学生数量:SELECT COUNT(student_id) FROM student;2. SUM函数:用于计算某个列或表中数值型数据的总和。
语法如下:SELECT SUM(column_name) FROM table_name;例如,计算一个订单表中的订单总金额:SELECT SUM(order_amount) FROM orders;3. AVG函数:用于计算某个列或表中数值型数据的平均值。
语法如下:SELECT AVG(column_name) FROM table_name;例如,计算一个商品表中的商品平均价格:SELECT AVG(product_price) FROM products;4. MAX函数:用于找出某个列或表中的最大值。
语法如下:SELECT MAX(column_name) FROM table_name;例如,找出一个员工表中的最高工资:SELECT MAX(salary) FROM employees;5. MIN函数:用于找出某个列或表中的最小值。
语法如下:SELECT MIN(column_name) FROM table_name;例如,找出一个商品表中的最低价格:SELECT MIN(product_price) FROM products;6. CONCAT函数:用于将多个字符串连接成一个字符串。
语法如下:SELECT CONCAT(string1, string2, ...) FROM table_name;例如,将一个学生表中的姓和名连接成一个完整的姓名:SELECT CONCAT(first_name, ' ', last_name) FROM student;7. SUBSTRING函数:用于截取字符串的一部分。
mysql中的常用函数
mysql中的常用函数MySQL是一种常用的关系型数据库管理系统,它提供了许多常用函数,用于数据处理、数据分析和查询操作。
本文将介绍MySQL中的一些常用函数,包括字符串函数、数值函数、日期和时间函数、逻辑函数等。
一、字符串函数1. CONCAT函数:用于连接两个或多个字符串,可以将多个字符串拼接在一起。
2. LENGTH函数:用于计算字符串的长度,返回字符串的字符个数。
3. SUBSTRING函数:用于截取字符串的一部分,可以指定起始位置和长度。
4. REPLACE函数:用于替换字符串中的指定字符或子串。
5. UPPER和LOWER函数:分别用于将字符串转换为大写和小写。
6. TRIM函数:用于去除字符串两端的空格或指定的字符。
二、数值函数1. ABS函数:用于计算一个数的绝对值。
2. ROUND函数:用于将一个数四舍五入到指定的小数位数。
3. CEIL和FLOOR函数:分别用于向上取整和向下取整。
4. MOD函数:用于计算两个数相除的余数。
5. RAND函数:用于生成一个随机数。
三、日期和时间函数1. NOW函数:返回当前的日期和时间。
2. DATE函数:用于提取日期部分。
3. TIME函数:用于提取时间部分。
4. YEAR、MONTH、DAY、HOUR、MINUTE和SECOND函数:分别用于提取年、月、日、时、分和秒。
5. DATEDIFF函数:用于计算两个日期之间的天数差。
6. DATE_ADD和DATE_SUB函数:用于对日期进行加法和减法运算。
四、逻辑函数1. IF函数:用于根据条件返回不同的值。
2. CASE函数:类似于IF函数,但可以处理多个条件。
3. COALESCE函数:用于返回第一个非空的表达式。
4. NULLIF函数:用于判断两个表达式是否相等,如果相等则返回NULL。
五、聚合函数1. COUNT函数:用于统计记录的数量。
2. SUM函数:用于计算某个字段的总和。
3. AVG函数:用于计算某个字段的平均值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大小写控制函数
这类函数改变字符的大小写。
函数 LOWER('SQL Course') UPPER('SQL Course')
结果 sql course SQL COURSE
字符控制函数
这类函数控制字符:
函数 CONCAT('Hello', 'World') SUBSTR('HelloWorld',1,5) LENGTH('HelloWorld') INSTR('HelloWorld', 'W') LPAD(salary,10,'*') RPAD(salary, 10, '*') TRIM('H' FROM 'HelloWorld') REPLACE('abcd','b','m')
第3节 常见函数
讲师:李玉婷
目标
通过本章学习,您将可以:
• 字符函数 • 数学函数 • 日期函数 • 其他函数【补充】 • 流程控制函数【补充】
字符函数
字符函数
大小写控制函数
LOWER UPPER
字符控制函数
CONCAT SUBSTR LENGTH INSTR LPAD | RPAD TRIM REPLACE
END
练习:查询部门号为 10, 20, 30 的员工信息, 若部门号为 10, 则打印 其工资的 1.1 倍, 20 号部门, 则打印其工资的 1.2 倍, 30 号部门打印 其工资的 1.3 倍数
CASE 表达式
下面是使用case表达式的一个例子:
SELECT last_name, job_id, salary,
100
日期函数
• now:获取当前日期
• str_to_date: 将日期格式的字符转换成指定格式的日期
STR_TO_DATE('9-13-1999','%m-%d-%Y')
1999-09-13
• date_format:将日期转换成字符
DATE_FORMAT(‘2018/6/6’,‘%Y年%m月%d日’)
结果 HelloWorld Hello 10 6 *****24000 24000***** elloWorld amcd
数字函数
• ROUND: 四舍五入
ROUND(45.926, 2)
45.93
• TRUNCATE: 截断
TRUNC(45.926, 2)
45.92
• MOD: 求余
MOD(1600, 300)
CASE job_id WHEN 'IT_PROG' 1.10*salary
WHEN 'ST_CLERK' THEN 1.15*salary
WHEN 'SA_REP' THEN 1.20*salary
ELSE
salary END
"REVISED_SALARY"
FROM employees;
…
…
条件表达式
• 在 SQL 语句中使用IF-THEN-ELSE 逻辑 • 使用方法:
– CASE 表达式
CASE 表达式
在需要使用 IF-THEN-ELSE 逻辑时:
CASE expr WHEN comparison_expr1 THEN return_expr1 [WHEN comparison_expr2 THEN return_expr2 WHEN comparison_exprn THEN return_exprn ELSE else_expr]
2018年06月06日
序号 1 2 3 4 5 6 7 8 9
格式符 %Y %y %m %c %d %H %h %i %s
功能 四位的年份 2位的年份 月份(01,02…11,12) 月份(1,2,…11,12) 日(01,02,…) 小时(24小时制) 小时(12小时制) 分钟(00,01…59) 秒(00,01,…59)