chapter11:使用数据处理函数

函数

  • 函数没有SQL的可移植性强:使用时应该保证做好代码注释。

使用函数

大多数SQL实现支持以下类型的函数:

  • 用于处理文本串的文本函数(如删除或填充值,转换大小写);
  • 用于在数值数据上进行算术操作的数值函数(如返回绝对值);
  • 用于处理日期和时间并从这些值中提取特定成分的日期和时间函数(如返回两个时间之差);
  • 返回DBMS正使用的特殊信息的系统函数(如返回用户登录信息);

文本处理函数

函数 说明
Left()/Right() 返回串左边的字符
Length() 返回串的长度
Locate() 找出串的一个子串
Lower()/Upper() 将串转换为小写
LTrim()/RTrim()/Trim() 去掉串左边的空格
Soundex() 返回串的SOUNDEX值
SubString() 返回子串的字符

SOUNDEX是一个将任何文本串转换为描述其语音表示的字母数字模式的算法,例:customers表中有一个顾客Coyote Inc.,其联系名为Y.Lee。但如果这是输入错误,联系名实际应为Y.Lie,使用Soundex()进行搜索,它匹配所有发音类似于Y.Lie的联系名:

SELECT cust_name, cust_contact
FROM customers
WHERE Soundex(cust_contact) = Soundex('Y.Lie');

日期和时间处理函数

函数 说明
AddDate() 增加一个日期(天、周等)
AddTime() 增加一个事件(时、分等)
CurDate() 返回当前日期
CurTime() 返回当前时间
Date() 返回日期时间的日期部分
DateDiff() 计算两个日期之差
Date_Add() 高度灵活的日期运算函数
Date_Format() 返回一个格式化的日期或时间串
Day() 返回一个日期的天数部分
DayOfWeek() 对于一个日期,返回对应的星期几
Hour() 返回一个时间的小时部分
Minute() 返回一个时间的分钟部分
Month() 返回一个时间的月份部分
Now() 返回当前日期和时间
Second() 返回一个时间的秒部分
Time() 返回一个日期时间的时间部分
Year() 返回一个日期的年份部分

一般,应用程序不使用用来存储日期和时间的格式,因此日期和时间函数总是用来读取、统计和处理这些值。

函数 说明
AddDate() 增加一个日期(天、周等)
AddTime() 增加一个事件(时、分等)
CurDate() 返回当前日期
CurTime() 返回当前时间
Date() 返回日期时间的日期部分
DateDiff() 计算两个日期之差
Date_Add() 高度灵活的日期运算函数
Date_Format() 返回一个格式化的日期或时间串
Day() 返回一个日期的天数部分
DayOfWeek() 对于一个日期,返回对应的星期几
Hour() 返回一个时间的小时部分
Minute() 返回一个时间的分钟部分
Month() 返回一个时间的月份部分
Now() 返回当前日期和时间
Second() 返回一个时间的秒部分
Time() 返回一个日期时间的时间部分
Year() 返回一个日期的年份部分
SELECT cust_id, order_num
FROM orders
WHERE Date(order_date) BETWEEN '2005-09-01' AND '2005-09-30';

数值处理函数

函数 说明
Abs() 绝对值
Cos() 余弦
Exp() 指数值
Mod() 余数
Pi() 圆周率
Rand() 随机数
Sin() 正弦
Sqrt() 平方根
Tan() 正切

你可能感兴趣的:(chapter11:使用数据处理函数)