mysql 字符串函数 数值函数 日期时间函数 枚举类型 set类型
来源:互联网 发布:c语言软件下载vc6.0 编辑:程序博客网 时间:2024/05/10 06:57
1.CONCAT(S1,S2,...SN)函数:把传入的参数连接成一个字符串
select concat('a',null);
输出:
+------------------+
| concat('a',null) |
+------------------+
| NULL |
+------------------+
1 row in set (0.00 sec)
任意字符串与NULL连接的结果都是NULL
2.INSERT(str1,x,y,str2)函数:把str1从位置开始以后的y个字符串替换成str2
mysql> select insert('beijing2008you',12,3,'me');
+------------------------------------+
| insert('beijing2008you',12,3,'me') |
+------------------------------------+
| beijing2008me |
+------------------------------------+
1 row in set (0.00 sec)
3.LEFT(str1,x),RIGHT(str2,y)函数:返回str1左边x个字符,str2右边y个字符
mysql> select left('beijing2008',7),left('beijing2008',null),right('beijing2008'
,4);
+-----------------------+--------------------------+------------------------+
| left('beijing2008',7) | left('beijing2008',null) | right('beijing2008',4) |
+-----------------------+--------------------------+------------------------+
| beijing | NULL | 2008 |
+-----------------------+--------------------------+------------------------+
1 row in set (0.00 sec)
4.LPAD(str,n,pad)和RPAD(str,n,pad)函数:对字符串str最左边和最右边进行填充,直到长度为n个字符串长度
mysql> select lpad('a',5,'b');
+-----------------+
| lpad('a',5,'b') |
+-----------------+
| bbbba |
+-----------------+
1 row in set (0.00 sec)
mysql> select rpad('c','5','d');
+-------------------+
| rpad('c','5','d') |
+-------------------+
| cdddd |
+-------------------+
1 row in set (0.00 sec)
5.LTRIM(str)和RTRIM(str)去掉str左边和右边的空格
mysql> select ltrim(' |beijing');
+----------------------+
| ltrim(' |beijing') |
+----------------------+
| |beijing |
+----------------------+
1 row in set (0.01 sec)
mysql> select rtrim('beijing| ');
+----------------------+
| rtrim('beijing| ') |
+----------------------+
| beijing| |
+----------------------+
1 row in set (0.00 sec)
6.REPEAT(str,x)函数,讲str重复x次
mysql> select repeat ('mysql',3);
+--------------------+
| repeat ('mysql',3) |
+--------------------+
| mysqlmysqlmysql |
+--------------------+
1 row in set (0.00 sec)
7.REPLACE(str,a,b)函数:用字符串b替换str中所有出现的字符串a
mysql> select replace('beijing_2008','_2008','_2020');
+-----------------------------------------+
| replace('beijing_2008','_2008','_2020') |
+-----------------------------------------+
| beijing_2020 |
+-----------------------------------------+
1 row in set (0.01 sec)
8.SUBSTRING(str,x,y)函数:返回str字符串中x位置起y个字符串
mysql> select substring('beijing2008',8,4);
+------------------------------+
| substring('beijing2008',8,4) |
+------------------------------+
| 2008 |
+------------------------------+
1 row in set (0.00 sec)
一个返回当前日期后31天和1年2个月后的SQL:
mysql> select now() current,date_add(now(),INTERVAL 31 day) after31days,date_ad
(now(),INTERVAL '1_2' year_month) after2year;
+---------------------+---------------------+---------------------+
| current | after31days | after2year |
+---------------------+---------------------+---------------------+
| 2014-10-06 22:50:13 | 2014-11-06 22:50:13 | 2015-12-06 22:50:13 |
+---------------------+---------------------+---------------------+
1 row in set (0.02 sec)
返回当前日期前31天和前1年2个月的SQL:
mysql> select now() current,date_add(now(),INTERVAL -31 day) after31days,date_ad
d(now(),INTERVAL '-1_-2' year_month) after2year;
+---------------------+---------------------+---------------------+
| current | after31days | after2year |
+---------------------+---------------------+---------------------+
| 2014-10-06 22:52:23 | 2014-09-05 22:52:23 | 2013-08-06 22:52:23 |
+---------------------+---------------------+---------------------+
1 row in set (0.02 sec)
计算某年某月某日到当前日期相差多少天的SQL:
mysql> select datediff('1990-08-01',now());
+------------------------------+
| datediff('1990-08-01',now()) |
+------------------------------+
| -8832 |
+------------------------------+
1 row in set (0.00 sec)
9.关于varchar与char的一点区别:
char做检索的时候把空格去掉了,而varchar则保留了这些空格
mysql> create table vc (v varchar(4),c char(4));
Query OK, 0 rows affected (0.06 sec)
mysql> insert into vc values('ab ','ab ');
Query OK, 1 row affected (0.09 sec)
mysql> select length(v),length(c) from vc;
+-----------+-----------+
| length(v) | length(c) |
+-----------+-----------+
| 4 | 2 |
+-----------+-----------+
1 row in set (0.00 sec)
10.关于枚举类型:
mysql> create table tt(gender enum('M','F'));
Query OK, 0 rows affected (0.08 sec)
插入数据:
mysql> insert into tt values('M'),('1'),('m'),(NULL);
Query OK, 4 rows affected (0.01 sec)
Records: 4 Duplicates: 0 Warnings: 0
插入枚举类型的时候,大小写不区分,1代表第一个枚举
mysql> SELECT * FROM TT;
+--------+
| gender |
+--------+
| M |
| M |
| M |
| NULL |
+--------+
4 rows in set (0.00 sec)
enum一次只可以从集合中选取一个值.
11.关于set类型:
mysql> create table ttt(col set('a','b','c','d'));
Query OK, 0 rows affected (0.08 sec)
插入数据:
mysql> insert into ttt values ('a,b'),('a,d,a'),('a,b'),('a');
Query OK, 4 rows affected (0.05 sec)
Records: 4 Duplicates: 0 Warnings: 0
查询:
mysql> select * from ttt;
+------+
| col |
+------+
| a,b |
| a,d |
| a,b |
| a |
+------+
4 rows in set (0.00 sec)
set可以同时插入多个值,但是重复的值只会插一次,对于插入不在set里面的值,会报错:
mysql> insert into ttt values('e');
ERROR 1265 (01000): Data truncated for column 'col' at row 1
- mysql 字符串函数 数值函数 日期时间函数 枚举类型 set类型
- MySQL 时间日期类型和相关函数
- mysql常用函数(字符串函数,数值函数,日期和时间函数)
- python类型转换、数值操作 和 mysql的字符串函数
- 【MySql】 MySQL存储过程常用的函数(字符串类型操作,数学类,日期时间类)
- 【MySql】 MySQL存储过程常用的函数(字符串类型操作,数学类,日期时间类)
- 字符串函数,日期函数,类型转换等
- mysql常用日期时间/数值函数
- MySQL中常用日期时间/数值函数
- 数值类型函数
- MySQL存储过程常用的函数(字符串类型操作,数学类,日期时间类)
- MySQL存储过程常用的函数(字符串类型操作,数学类,日期时间类)
- Mysql数据库学习(二):数据类型(数值类型 日期和时间类型 字符串类型)
- oracle 数值型函数,字符型函数,日期函数,转换函数,to_char,自动类型转换,日期类型转换
- 【转】oracle 数值型函数,字符型函数,日期函数,转换函数,to_char,自动类型转换,日期类型转换
- oracle 数值型函数,字符型函数,日期函数,转换函数,to_char,自动类型转换,日期类型转换
- oracle 数值型函数,字符型函数,日期函数,转换函数,to_char,自动类型转换,日期类型转换
- oracle 数值型函数,字符型函数,日期函数,转换函数,to_char,自动类型转换,日期类型转换
- 为Minix3安装 x window system
- 修复bug的12个关键步骤
- C语言编程100例之2
- 自考总结--数据结构导论
- HDU 1133 Buy the Ticket 卡特兰数
- mysql 字符串函数 数值函数 日期时间函数 枚举类型 set类型
- HDU 4454 Stealing a Cake
- SQL语言基础(1)(转载《Oracle PL/SQL DBA编程入门》林树泽一书)
- Default Memberwise Initialization 与 Bitwise Copy Semantic
- C语言编程100例之3
- Python]网络爬虫
- 数据结构_顺序栈相关操作
- 酷划邀请码
- HDU-4782-Beautiful Soup(模拟)