1_mysql数据表达式

2020-06-06  本文已影响0人  那是个好男孩
  1. 计算194和142的乘积
    select 194*142;
  2. 实现字符串的换行处理
    select "I\nLOVE\nYOU";
  3. 得到12除2,1.6除-0.1,23除7,1除0
    select 12/2,1.6/-0.1,23/7,1/0;
  4. 得到12除5的余数,-32除7的余数,3除0的余数
    select 12%5,-32%7,3&0;
  5. 获取当前的mysql版本
    方式一 select version();
    方式二 show variables like 'version';
  6. 获得当前时间
    年-月-日 时:分:秒 select now();
    年-月-日 select curdate();
    时:分:秒 select curtime();
  7. 比较apple和Apple是否相等,若想区分大小写进行比较该如何写
    select 'Apple'='apple',binary 'Apple'='apple';
    前者结果为1,后者为0;BINARY不是函数,是类型转换运算符,它用来强制它后面的字符串为一个二进制字符串,简单理解为在字符串比较的时候区分大小写。
  8. 返回 (10,9,128,1)的最大值和(1,2,3)的最小值
    select greatest(10,9,128,1),least(1,2,3);
  9. 返回25,15,1的平方根
    select sqrt(25),sqrt(15),sqrt(1);
  10. 返回字母A的ASCII码值
    select ASCII('A'); 65
  11. 用K替换Welcome to CHINA中的o字符
    select replace ('Welcome to CHINA','o','K'); WelcKme tK CHINA
  12. 得到2020年6月4号是2020年的第几周
    方式一 select WEEK('2020-06-04') 22
    方式二 select YEARWEEK(20200604); 202022
  13. 计算2020年6月4号经过22天的日期
    select DATE_ADD("2020-06-04",interval 22 DAY); 2020-06-26
  14. 将now()函数得到的系统时间进行格式化,得到**-**-** 这样的日期。
    select DATE_FORMAT(NOW(), '%y-%m-%d'); 2020-06-04

mysql中一些字符的作用

序列 含义
\0 ASCII 0 (NULL)字符
\n 换行符
\r 回车符(Windows中使用\r\n作为新行标志)
\t 定位符
\b 退格符
\Z ASCII 26字符(CTRL+Z)
' 单引号("'")
" 双引号('"')
\ 反斜线("")
% "%"符。它用于在正文中搜索"%"的文字实例,否则这里"%"将解释为一个通配符
_ ""符。它用于在正文中搜索""的文字实例,否则这里"_"将解释为一个通配符

数学函数

函数 说明
ABS(x) 返回x的绝对值
BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制)
EXP(x) 返回值e(自然对数的底)的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()随机数生成器生成一个指定的值
FLOOR(x) 返回小于x的最大整数值,(去掉小数取整)
CEILING(x) 返回大于x的最小整数值,(进一取整)
ROUND(x,y) 返回参数x的四舍五入的有y位小数的值,(四舍五入)
TRUNCATE(x,y) 返回数字x截短为y位小数的结果
SIGN(x) 返回代表数字x的符号的值(正数返回1,负数返回-1,0返回0)
SQRT(x) 返回一个数的平方根

字符串函数

函数 说明
ASCII(char) 返回字符的ASCII码值
Char(x1,x2,x3,…) 将x1,x2,x3的ascii码转换为字符,结果组合成一个字符串。
LEFT(str,x) 返回字符串str中最左边的x个字符
RIGHT(str,x) 返回字符串str中最右边的x个字符
substring(str, pos, len) 返回字符串str从pos位开始截取len个长度的字符
REPLACE(str1,str2,str3) 用str3替换str1中所有出现的字符串str2
CONCAT(s1,s2...,sn) 将s1,s2...,sn连接成字符串
STRCMP(s1,s2) 比较s1和s2大小,相等返回0,s1>s2返回1,s1<s2返回-1
LENGTH(str) 算出str字节数有多少(utf-8 一个汉字占3个字节)
INSERT(str,pos,len,newstr) 将字符串str从第pos位置开始,len个字符长的子串替换为newstr。
Upper(str) 将str所有字符变成大写
Lower(str) 将str所有字符变成小写

日期和时间函数

函数 说明
NOW() 返回当前的日期和时间
CURDATE()或CURRENT_DATE() 返回当前的日期
CURTIME()或CURRENT_TIME() 返回当前的时间
YEAR(date) 返回日期date的年份(1000~9999)
MONTH(date) 返回date的月份值(1~12)
DAYOFYEAR(date) 返回date是一年的第几天(1~366)
DAYOFMONTH(date) 返回date是一个月的第几天(1~31)
DAYOFWEEK(date) 返回date所代表的一星期中的第几天(1~7)
HOUR(time) 返回time的小时值(0~23)
MINUTE(time) 返回time的分钟值(0~59)
SECOND(time) 返回time的秒值(0-59)
WEEK(date) 返回日期date为一年中第几周(0~53)
YEARWEEK(date) 返回日期date为哪一年哪一个星期
DATE_ADD(date,INTERVAL int keyword) 返回日期date加上间隔时间int的结果(int必须按照关键字进行格式化)
DATE_SUB(date,INTERVAL int keyword) 返回日期date加上间隔时间int的结果(int必须按照关键字进行格式化

根据format字符串格式化date值
DATE_FORMAT(date,format) date 参数是合法的日期、format 规定日期/时间的输出格式

占位符 说明
%S %s 两位数字形式的秒( 00,01, ..., 59)
%I, %i 两位数字形式的分( 00,01, ..., 59)
%H 两位数字形式的小时,24 小时(00,01, ..., 23)
%h 两位数字形式的小时,12 小时(01,02, ..., 12)
%k 数字形式的小时,24 小时(0,1, ..., 23)
%l 数字形式的小时,12 小时(1, 2, ..., 12)
%T 24 小时的时间形式(hh:mm:ss)
%r 12 小时的时间形式(hh:mm:ss AM 或hh:mm:ss PM)
%p AM或PM
%W 一周中每一天的名称(Sunday, Monday, ..., Saturday)
%a 一周中每一天名称的缩写(Sun, Mon, ..., Sat)
%d 两位数字表示月中的天数(00, 01,..., 31)
%e 数字形式表示月中的天数(1, 2, ..., 31)
%D 英文后缀表示月中的天数(1st, 2nd, 3rd,...)
%w 以数字形式表示周中的天数( 0 = Sunday, 1=Monday, ..., 6=Saturday)
%j 以三位数字表示年中的天数( 001, 002, ..., 366)
%U 周(0, 1, 52),其中Sunday 为周中的第一天
%u 周(0, 1, 52),其中Monday 为周中的第一天
%M 月名(January, February, ..., December)
%b 缩写的月名( January, February,...., December)
%m 两位数字表示的月份(01, 02, ..., 12)
%c 数字表示的月份(1, 2, ...., 12)
%Y 四位数字表示的年份
%y 两位数字表示的年份
%% 直接值“%”

上一篇下一篇

猜你喜欢

热点阅读