首页 > 技术文章 > 数据处理函数/单行处理函数

xqr2018 2018-04-04 22:10 原文

dept表如下:

 

1.lower:转小写

mysql> select lower(dname) as dname from dept;
+------------+
| dname      |
+------------+
| NULL       |
| accounting |
| research   |
| sales      |
| operations |
| sales      |
+------------+

2.upper:转大写

mysql> select upper(dname) as dname from dept;
+------------+
| dname      |
+------------+
| NULL       |
| ACCOUNTING |
| RESEARCH   |
| SALES      |
| OPERATIONS |
| SALES      |
+------------+

3.substr:取子段,格式:substr(字段名,起始位置(下标从1开始),长度)

mysql> select substr(dname,1,2) from dept;
+-------------------+
| substr(dname,1,2) |
+-------------------+
| NULL              |
| ac                |
| re                |
| sa                |
| op                |
| SA                |
+-------------------+

4.length:取长度

mysql> select length(dname) from dept;
+---------------+
| length(dname) |
+---------------+
| NULL          |
|            10 |
|             8 |
|             5 |
|            10 |
|             5 |
+---------------+

5.trim:移除字首字尾的空白;ltrim:移除字首的空白;rtrim:移除字尾的空白

select dname from dept where dname=trim(' sales');
+-------+
| dname |
+-------+
| sales |
| SALES |
+-------+

6.round:四舍五入,格式:round(数值,保留的位数)

保留的位数:一位小数:1;两位小数:2;当然也可以取负数,即保留个位十位...

mysql> select round(123.456,1);
+------------------+
| round(123.456,1) |
+------------------+
| 123.5            |
+------------------+

7.rand:生成0-1之间的随机数

mysql> select rand();
+--------------------+
| rand()             |
+--------------------+
| 0.6250643717358488 |
+--------------------+


生成0-100的随机数:
mysql> select round(100*rand());
+-------------------+
| round(100*rand()) |
+-------------------+
|                53 |
+-------------------+

8.ifnull:空值处理函数,有null参加的运算,结果还是空,为避免运算后的结果为空,用ifnull(字段,赋予的数值)来处理

9.日期处理函数:

不同的数据库管理系统的日期处理机制不同,实际开发中,很少把表中字段定义为date类型,因为通用性差,一般使用字符串表示日期

MySQL默认的日期格式:%Y-%m-%d

关于MySQL的日期处理,有两个函数:

  1.str_to_date(通常使用在插入操作中)

  2.date_format(主要使用在查询操作中,需要特定格式展示的时候需要用到,把‘-’改为自己想要的)

str_to_date:

date_format:

 

推荐阅读