企业网站的劣势,企业营销策划服务,重庆的网站设计公司价格,衡水做网站建设内置函数 日期函数示例案例-1案例-2 字符串函数示例 数学函数其他函数 日期函数 示例
获得当前年月日
mysql select current_date();
----------------
| current_date() |
----------------
| 2023-09-03 |
----------------
1 row in set (0.00 sec)获得当前时分秒… 内置函数 日期函数示例案例-1案例-2 字符串函数示例 数学函数其他函数 日期函数 示例
获得当前年月日
mysql select current_date();
----------------
| current_date() |
----------------
| 2023-09-03 |
----------------
1 row in set (0.00 sec)获得当前时分秒
mysql select current_time;
--------------
| current_time |
--------------
| 09:20:15 |
--------------
1 row in set (0.00 sec)
获得当前时间戳
mysql中该函数会自动将时间戳转化为年月日时分秒的格式
mysql select current_timestamp();
---------------------
| current_timestamp() |
---------------------
| 2023-09-03 09:20:49 |
---------------------
1 row in set (0.00 sec)date(datetime),返回 datetime 参数中的日期部分年月日部分
mysql select date(current_date());
----------------------
| date(current_date()) |
----------------------
| 2023-09-03 |
----------------------
1 row in set (0.00 sec)//虽然currnt_time()获得的只有时分秒时间但该函数内部获得时间的时候是可以获得日期年月日的
mysql select date(current_time());
----------------------
| date(current_time()) |
----------------------
| 2023-09-03 |
----------------------
1 row in set (0.00 sec)mysql select date(current_timestamp());
---------------------------
| date(current_timestamp()) |
---------------------------
| 2023-09-03 |
---------------------------
1 row in set (0.00 sec)在日期的基础上加上日期
//在 2023-9-3 的基础上加上 50 天
mysql select date_add(2023-9-3,interval 50 day);
--------------------------------------
| date_add(2023-9-3,interval 50 day) |
--------------------------------------
| 2023-10-23 |
--------------------------------------
1 row in set (0.00 sec)在日期的基础上减去日期
//在 2023-10-23 的基础上减去 50 天
mysql select date_sub(2023-10-23,interval 50 day);
----------------------------------------
| date_sub(2023-10-23,interval 50 day) |
----------------------------------------
| 2023-09-03 |
----------------------------------------
1 row in set (0.00 sec)
计算两个日期相差多少天
mysql select datediff(2023-9-3,2023-10-23);
-----------------------------------
| datediff(2023-9-3,2023-10-23) |
-----------------------------------
| -50 |
-----------------------------------
1 row in set (0.00 sec)案例-1
创建一张表记录生日
mysql create table tmp (id int primary key auto_increment,birthday date not null);
Query OK, 0 rows affected (0.01 sec)mysql desc tmp;
-------------------------------------------------------
| Field | Type | Null | Key | Default | Extra |
-------------------------------------------------------
| id | int(11) | NO | PRI | NULL | auto_increment |
| birthday | date | NO | | NULL | |
-------------------------------------------------------
2 rows in set (0.00 sec)
添加当前日期
mysql insert into tmp(birthday) values(current_date());
Query OK, 1 row affected (0.00 sec)mysql select* from tmp;
----------------
| id | birthday |
----------------
| 1 | 2023-09-03 |
----------------
1 row in set (0.00 sec)
案例-2
创建一个留言表
mysql create table msg(id int primary key auto_increment,content varchar(30) not null,sendtime datetime);
Query OK, 0 rows affected (0.01 sec)mysql desc msg;
-----------------------------------------------------------
| Field | Type | Null | Key | Default | Extra |
-----------------------------------------------------------
| id | int(11) | NO | PRI | NULL | auto_increment |
| content | varchar(30) | NO | | NULL | |
| sendtime | datetime | YES | | NULL | |
-----------------------------------------------------------
3 rows in set (0.00 sec)插入数据
mysql insert into msg(content,sendtime) values(hello,now());
Query OK, 1 row affected (0.00 sec)mysql insert into msg(content,sendtime) values(hi,now());
Query OK, 1 row affected (0.00 sec)mysql select* from msg;
----------------------------------
| id | content | sendtime |
----------------------------------
| 1 | hello | 2023-09-03 09:48:45 |
| 2 | hi | 2023-09-03 09:48:52 |
----------------------------------
2 rows in set (0.00 sec)显示所有留言信息发布日期只显示到年月日不用显示具体时间
mysql select content ,date(sendtime) from msg;
-------------------------
| content | date(sendtime) |
-------------------------
| hello | 2023-09-03 |
| hi | 2023-09-03 |
-------------------------
2 rows in set (0.00 sec)查询在 10 分钟内发布的帖子
mysql select* from msg where date_add(sendtime,interval 10 minute) now();
----------------------------------
| id | content | sendtime |
----------------------------------
| 1 | hello | 2023-09-03 09:48:45 |
| 2 | hi | 2023-09-03 09:48:52 |
----------------------------------
2 rows in set (0.00 sec)理解------------------------------|-----------|-------------|------------------初始时间 now() 初始时间10min 字符串函数 示例
获取表中的某一列的字符集
mysql select charset(content) from msg;
------------------
| charset(content) |
------------------
| utf8 |
| utf8 |
------------------
2 rows in set (0.00 sec)字符串连接
mysql select concat(app,le);
--------------------
| concat(app,le) |
--------------------
| apple |
--------------------
1 row in set (0.00 sec)某字符串中是否包含某子串包含则返回出现的位置未包含则返回 0
mysql select instr(apple,ple);
----------------------
| instr(apple,ple) |
----------------------
| 3 |
----------------------
1 row in set (0.00 sec)mysql select instr(apple,b);
--------------------
| instr(apple,b) |
--------------------
| 0 |
--------------------
1 row in set (0.00 sec)转换成大写
mysql select ucase(abcA);
---------------
| ucase(abcA) |
---------------
| ABCA |
---------------
1 row in set (0.00 sec)转换成小写
mysql select lcase(abcA);
---------------
| lcase(abcA) |
---------------
| abca |
---------------
1 row in set (0.00 sec)从字符串的左边或者右边起取 length 个字符
mysql select left(abcdef,2);
------------------
| left(abcdef,2) |
------------------
| ab |
------------------
1 row in set (0.00 sec)mysql select right(abcdef,2);
-------------------
| right(abcdef,2) |
-------------------
| ef |
-------------------
1 row in set (0.00 sec)获取字符串的长度
mysql select length(abc);
---------------
| length(abc) |
---------------
| 3 |
---------------
1 row in set (0.00 sec)mysql select length(你好);
------------------
| length(你好) |
------------------
| 6 |
------------------
1 row in set (0.00 sec)注意length函数返回字符串长度以字节为单位。如果是多字节字符则计算多个字节数 如果是单字节字符则算作一个字节。比如字母数字算作一个字节中文表示多个字节数 与字符集编码有关 在字符串中用某子串替换掉其中的子串
//在 ‘hello world’ 中用 ‘jack’ 替换掉 ‘world’
mysql select replace(hello world,world,jack);
---------------------------------------
| replace(hello world,world,jack) |
---------------------------------------
| hello jack |
---------------------------------------
1 row in set (0.00 sec)逐字符比较字符串的大小
//第一个字符串小于第二个字符串返回 -1
mysql select strcmp(abc,abd);
---------------------
| strcmp(abc,abd) |
---------------------
| -1 |
---------------------
1 row in set (0.00 sec)//相等返回 0
mysql select strcmp(abc,abc);
---------------------
| strcmp(abc,abc) |
---------------------
| 0 |
---------------------
1 row in set (0.00 sec)//大于返回 1
mysql select strcmp(abd,abc);
---------------------
| strcmp(abd,abc) |
---------------------
| 1 |
---------------------
1 row in set (0.00 sec)从字符串的第 position 开始取 length 个字符
//从第一个位置开始取三个字符
mysql select substring(abcdefg,1,3);
----------------------------
| substring(abcdefg,1,3) |
----------------------------
| abc |
----------------------------
1 row in set (0.00 sec)去除 前空格 / 后空格 / 前后空格
mysql select hello as res;
-------------
| res |
-------------
| hello |
-------------
1 row in set (0.00 sec)mysql select ltrim( hello ) as res;//去除前空格
----------
| res |
----------
| hello |
----------
1 row in set (0.00 sec)mysql select rtrim( hello ) as res;//去除后空格
----------
| res |
----------
| hello |
----------
1 row in set (0.00 sec)mysql select trim( hello ) as res; //去除前后空格
-------
| res |
-------
| hello |
-------
1 row in set (0.00 sec)数学函数 绝对值
mysql select abs(-100.5);
-------------
| abs(-100.5) |
-------------
| 100.5 |
-------------
1 row in set (0.00 sec)向上取整
mysql select ceiling(23.4);
---------------
| ceiling(23.4) |
---------------
| 24 |
---------------
1 row in set (0.00 sec)
向下取整
mysql select floor(24.7);
-------------
| floor(24.7) |
-------------
| 24 |
-------------
1 row in set (0.00 sec)
保留小数位数
//保留2位小数位数小数四舍五入)
mysql select format(12.3456,2);
-------------------
| format(12.3456,2) |
-------------------
| 12.35 |
-------------------
1 row in set (0.00 sec)
产生随机数
mysql select rand();
--------------------
| rand() |
--------------------
| 0.2013088168588549 |
--------------------
1 row in set (0.00 sec)mysql select rand();
--------------------
| rand() |
--------------------
| 0.2613807602425858 |
--------------------
1 row in set (0.00 sec)其他函数
user() 查询当前用户md5(str)对一个字符串进行md5摘要摘要后得到一个32位字符串database()显示当前正在使用的数据库password()函数MySQL数据库使用该函数对用户加密ifnullval1 val2 如果val1为null返回val2否则返回val1的值