一、创建计算字段
concat 连接字符
SELECT Concat(vend_name, ‘ (‘, vend_country, ‘)‘) FROM Vendors ORDER BY vend_name;
为了去除结果空格,使用RTRIM,LTRIM,TRIM:去掉字符串右边的空格)、LTRIM()(去掉字符串左边的空格)以及TRIM()(去掉字符串左右两边的空格)。
二、SQL函数
2.1 文本处理函数
函数 | 说明 |
left() | 返回字符串左边的字符 |
length()/len() | 返回字符串长度 |
lower() | 转换为小写 |
right() | 返回字符串右边的字符 |
LTRIM() | 去掉字符串左边的空格 |
RTRIM() | 去掉字符串右边的字符 |
soundex() | 返回字符串的soundex值 |
upper() | 转大写 |
SOUNDEX 是一个将任何文
本串转换为描述其语音表示的字母数字模式的算法
2.2 日期和时间处理函数
函数 | 描述 |
---|---|
NOW() | 返回当前的日期和时间 |
CURDATE() | 返回当前的日期 |
CURTIME() | 返回当前的时间 |
DATE() | 提取日期或日期/时间表达式的日期部分 |
EXTRACT() | 返回日期/时间按的单独部分 |
DATE_ADD() | 给日期添加指定的时间间隔 |
DATE_SUB() | 从日期减去指定的时间间隔 |
DATEDIFF() | 返回两个日期之间的天数 |
DATE_FORMAT() | 用不同的格式显示日期/时间 |
主要函数用法介绍:
SELECT NOW(),CURDATE(),CURTIME()
下面的 SQL 创建带有日期时间列 (OrderDate) 的 "Orders" 表:
注意是 datetime类型
CREATE TABLE Orders ( OrderId int NOT NULL, ProductName varchar(50) NOT NULL, OrderDate datetime NOT NULL DEFAULT NOW(), PRIMARY KEY (OrderId) )
DATEDIFF() 函数返回两个日期之间的天数。
SELECT DATEDIFF(‘2008-12-30‘,‘2008-12-29‘) AS DiffDate
2.3 数值处理函数
三、汇总函数
3.1 聚集函数
使用COUNT(*)对表中行的数目进行计数,不管表列中包含的是空值(NULL)还是非空值。
使用COUNT(column)对特定列中具有值的行进行计数,忽略NULL 值。
以上5 个聚集函数都可以如下使用。
对所有行执行计算,指定ALL 参数或不指定参数(因为ALL 是默认行为)。
只包含不同的值,指定DISTINCT 参数。