mysql 函数返回类型set_mysql 字符串函数 数值函数 日期时间函数 枚举类型 set类型...

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值