sql字段操作(拼接、计算)

字段:其实字段与数据库表列的意思基本相同,经常互换使用。 拼接字段:不同的数据库拼接字段用到的操作符不一样,一般的有“+”、“||”两种。而MySQL用到的是函数concat()函数。拼接字段可以将不同字段的值连接起来,select时在一个列里面显示。下面将cpu的型号和线程数两个字段显示在一个列中。

mysql> select concat(model_cpu,'(',num_cpus,')') from device_info order by model_cpu limit 4;
+--------------------------------------+
| concat(model_cpu,'(',num_cpus,')')   |
+--------------------------------------+
| Intel(R)Xeon(R)CPUE5-26200@2.00G(8)  |
| Intel(R)Xeon(R)CPUE5-26200@2.00G(8)  |
| Intel(R)Xeon(R)CPUE5-26200@2.00G(24) |
| Intel(R)Xeon(R)CPUE5-26200@2.00G(24) |
+--------------------------------------+
4 rows in set (0.00 sec)

[/codesyntax] 如果感觉拼接后的字段名不是很美观,没有关系可以使用 as 更改显示名(即为字段使用别名)。

mysql> select concat(model_cpu, '(',num_cpus,')') as cpu from device_info order by model_cpu limit 4;
+--------------------------------------+
| cpu                                  |
+--------------------------------------+
| Intel(R)Xeon(R)CPUE5-26200@2.00G(8)  |
| Intel(R)Xeon(R)CPUE5-26200@2.00G(8)  |
| Intel(R)Xeon(R)CPUE5-26200@2.00G(24) |
| Intel(R)Xeon(R)CPUE5-26200@2.00G(24) |
+--------------------------------------+
4 rows in set (0.00 sec)

如果在拼接地段的时候,某些字段可能左右含有多个空格神马的会影响美观,这是后可以尝试这些个函数RTRIM()、LTRIM()、TRIM()分别是去掉字符串右边的空格、左边的空格、左右两边的空格。 在查询时还可以对字段进行算术运算,其实sql可以完成一般计算器的活。

mysql> select 3+4*5;
+-------+
| 3+4*5 |
+-------+
|    23 |
+-------+
1 row in set (0.00 sec)

mysql> select 2-7*6+30-6/2;
+--------------+
| 2-7*6+30-6/2 |
+--------------+
|     -13.0000 |
+--------------+
1 row in set (0.00 sec)

mysql> select cos(0);
+--------+
| cos(0) |
+--------+
|      1 |
+--------+
1 row in set (0.00 sec)

瞬间对sql变得友好了,sql支持字段值的计算。

mysql> select num_cpus from device_info limit 4;
+----------+
| num_cpus |
+----------+
|        8 |
|       24 |
|        8 |
|       12 |
+----------+
4 rows in set (0.00 sec)

mysql> select num_cpus*2 from device_info limit 4;
+------------+
| num_cpus*2 |
+------------+
|         16 |
|         48 |
|         16 |
|         24 |
+------------+
4 rows in set (0.00 sec)

其实sql还是很有趣的,有时间的可以好好研究研究。 转载请注明出处:http://www.xiaomastack.com/2014/07/27/sqlzdczpj/ 谢谢!

发表评论:

你的电子邮件地址将不会被公开.

× 6 = 60