存储在数据库表中的数据一般不是应用程序所需要的格式。我们需要直接从数据库中检索出转换,计算或格式化的数据,而不是检索出数据,然后再在客户机应用程序中重新格式化。计算字段并不实际存在与数据库表中,计算字段是运行时在SELECT语句内创建的。
- 拼接字段
MySQL不支持+或||的拼接。它使用CONCAT()函数把项表拼接起来。
在MYSQL中,当用加号“+”连接两个字段(或者多个字段)的时候,MYSQL会尝试将字段值转换为数字类型(如果转换失败则认为字段值为0),然后进行字段的加法运算。
例:
SELECT CONCAT(vend_name , '(' ,vend_country, ' )' )
...
- 去掉空格
RTRIM()去掉串右边的空格
LTRIM()去掉串左边的空格
- 使用别名
例:
SELECT CONCAT(RTRIM(vend_name),'(',RTRIM(vend_country,')') AS cend_title
FROM Vendors
ORDER BY vend_name;
表别名也可以使用AS。别名除了用于列名和计算字段外,SQL还允许给表名起别名。这样做有两个理由,缩短SQL语句和允许在单条SELECT语句中多次使用相同的表。
例:
SELECT cust_id,cust_contact
FROM Customers AS C,Orders AS O,OrderItems AS OI
WHERE C.cust_id = O.cust_id
AND OI.order_num = O.order_num
AND prod_id = 'RGAN01';
- 执行算术计算
SELECT prod_id,quantity,item_price,quantity*item_price AS expanded_price
FROM OrderItems
WHERE order_num = 20008;