计算字段
打个比方,假设表内行有商品单价以及购买数额,但是没有总价列。这就可以创建一个新字段来计算总价然后输入,虽然这个字段不存在与表内,计算交由数据库,客户端只显示数据,不管表内有没有这个属性。不同数据库会提供不同计算的函数。比如下面这个拼接字段:
在MySQL和MariaDB中使用Contact函数将一个字段拼接到另一个上,
SELECT Contact(name,' (',city,')')
将表内的city列值通过两个圆括号连接到name的值上。
但是在SQL Server以及ACCESS中用“+”号连接,而在Oracle和SQLite中使用“||”符号。
使用别名
可以使用AS关键字为新的字段赋于一个名字,方便查看和记忆。
别名可以是一个单词,也可以是一个字符串,如果是后者,要在引号内。
使用函数处理数据
首先,在函数这块,虽然方便了使用者,但是每个数据库的处理函数有许多不同,没有同一标准,也就造就了数据的可移植性查,所以使用的时候要查看对应的DBMS要求。
常用的文本处理函数
函数 | 功能 |
---|---|
LEFT() | 返回字符串左边的字符 |
RIGHT() | 返回字符串右边的字符 |
LENGTH() | 返回字符串的长度 |
LOWER() | 将所有字符小写 |
UPPER | 将所有字符大写 |
TRIM | 去除字符串左右两边的空格 |
LTRIM() | 去除左边 |
RTRIM() | 去除右边 |
日期与时间处理函数
每个DBMS都拥有自己的格式
SQL Server:DATEPART(’yyyy‘,date)
从date列中返回日期,DATEPART提取年份。
Oracle:to_number(to_char(date,“YYYY”))
to_char提取日期成分,to_number转化为数值;
或者使用BETWEEN,BETWEEN to_date(“mm-dd-yyyy”) AND to_date(“mm-dd-yyyy”)
to_date将字符串转化为日期。
MySQL:使用YEAR()函数直接提取年份。