对字段拼接、别名、算术运算

阅读:132

1. 对字段进行拼接

很多时候,检索出的列名不符合我们的条件,我们需要拼接名称,比如我们在所有的商品名称后加phone后缀。MySQL和MariaDB使用Contact(),执行以下SQL:

mysql> SELECT Concat(pro_name, ' phone') FROM t_product;
+----------------------------+
| Concat(pro_name, ' phone') |
+----------------------------+
| Apple phone 12 phone       |
| HUAWEI Mate40 phone        |
| XiaoMi 10 phone            |
| OPPO Reno4 phone           |
| HUAWEI P40 phone           |
| NULL                       |
| NULL                       |
+----------------------------+
7 rows in set (0.00 sec)

以上是使用MySQL的Concat函数进行拼接字段。多数DBMS使用 + 或 || 来实现拼接。不同的DBMS支持不同:

  • Access 􏲏 SQL Server使用 􏱞􏱟+􏳇。
  • DB2􏲽、Oracle、􏲽PostgreSQL、􏲽SQLite、Open Office Base使用􏱞􏱟||。

 

2. 为列取别名

别名alias,使用AS关键字赋予。

我们有一个需求,查询出所有的HUAWEI手机,列名取别名华为手机,执行以下SQL:

mysql> SELECT id, pro_price, pro_name AS '华为手机', pro_sku FROM t_product where pro_name LIKE 'HUAWEI%';
+----+-----------+---------------+---------+
| id | pro_price | 华为手机      | pro_sku |
+----+-----------+---------------+---------+
|  2 |   9800.00 | HUAWEI Mate40 |       1 |
|  6 |   5600.00 | HUAWEI P40    |       1 |
+----+-----------+---------------+---------+
2 rows in set (0.01 sec)

这里看到pro_name的列名修改为华为手机。

别名一般用于当前的列名满足不列我们的需求,需要重新取名。

3. 对列进行算术运算

检索出的列可以尽享算术运算。包括加、减、乘、除。

我们举例,由于现在手机市场供不应求,我们对所有手机的价格加价10倍。指向以下SQL:

mysql> SELECT id, pro_price * 10, pro_name , pro_sku FROM t_product;
+----+----------------+----------------+---------+
| id | pro_price * 10 | pro_name       | pro_sku |
+----+----------------+----------------+---------+
|  1 |      120000.00 | Apple phone 12 |       2 |
|  2 |       98000.00 | HUAWEI Mate40  |       1 |
|  4 |       48000.00 | XiaoMi 10      |       3 |
|  5 |       39000.00 | OPPO Reno4     |       5 |
|  6 |       56000.00 | HUAWEI P40     |       1 |
|  7 |      139000.00 | NULL           |       5 |
|  8 |       58000.00 | NULL           |       1 |
+----+----------------+----------------+---------+
7 rows in set (0.00 sec)

输出的所有的价格都是乘以10的结果。

总结:

  • 对输出的列可以进行拼接,不同的DBMS支持不同,一般不常用。
  • 输出的字段名称不符合时,可以通过AS进行取别名。
  • 对输出字段可以直接进行加减乘除的算术运算。

读后有收获,请作者喝杯咖啡

全部评论

发表评论
更多精彩内容,请关注微信公众号