数据库操作:数据处理函数

与其他大多数计算机语言一样,SQL支持利用函数来处理数据。

函数没有SQL的可移植性强。能运行在多个系统上的代码称为可移植的。多数SQL语句是可移植的,在SQL实现之间有差异,这些差异通常不那么难处理。而函数的可移植性却不强。

文本处理函数

常用的文本处理函数:

1.Left():返回串左边的字符;

2.Length():返回串的长度;

3.Locate():找出串的一个子串;

4.Lower():将串转换为小写;

5.LTrim():去掉串左边的空格;

6.Right():返回串右边的字符;

7.RTrim():去掉串右边的空格;

8.Soundex():返回串的SOUNDEX值;

9.SubString():返回子串的字符;

10.Upper():将串转换为大写。

SOUNDEX是一个将任何文本串转换为描述其语音表示的字母数字模式的算法。SOUNDEX考虑了类似的发音字符和音节,使得能对串进行发音比较而不是字母比较。

例如customers表中的一位顾客,联系名为Y.Lee,但是这是输出错误的,实际上应该是Y.Lie。显然如果按Y.Lie搜索是不会返回数据的。

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

现在尝试使用SOUNDEX()函数进行搜索,它会匹配所有发音类似于Y.Lie的联系名。

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

日期和时间处理函数

常用日期和时间处理函数:

1.AddDate():增加一个日期(天、周等);

2.AddTime():增加一个时间(时、分等);

3.CurDate():返回当前日期;

4.CurTime():返回当前时间;

5.Date():返回日期时间的日期部分;

6.DateDiff():计算两个日期之差;

7.Date_Format():返回一个格式化的日期或时间串;

8.Day():返回一个日期的天数部分;

9.DayOfWeek():对于一个日期,返回对应的星期几;

10.Hour():返回一个时间的小时部分;

11.Minute():返回一个时间的分钟部分;

12.Month():返回一个日期的月份部分;

13.Now():返回当前日期和时间;

14.Second():返回一个时间的秒部分;

15.Time():返回一个日期时间的时间部分;

16.Year():返回一个日期的年份部分。

不管是插入或者更新还是用WHERE子句进行过滤,日期格式首选yyyy-mm-dd。

SELECT cust_id,order_num
FROM orders
WHERE order_date='2015-09-01';

order_date数据类型为datetime,这种类型存储日期及时间值。如果order_date值为2015-09-01 11:30:05,则上述语句不会将其检索出来。解决办法是仅将给出的日期与列中的日期部分进行比较,而不是将给出的日期与整个列值进行比较。

SELECT cust_id,order_num
FROM orders
WHERE Date(order_date)='2015-09-01';

如果想检索2015年9月下的所有订单,该如何操作?

SELECT cust_id,order_num
FROM orders
WHERE Date(order_date) BETWEEN '2015-09-01' AND '2015-09-30';

还有另外一种办法:

SELECT cust_id,order_num
FROM orders
WHERE Year(order_date)=2015 AND Month(order_date)=9;

数值处理函数

常用数值处理函数:

1.Abs():返回一个数值的绝对值;

2.Cos():返回一个角度的余弦;

4.Exp():返回一个数的指数值;

5.Mod():返回除操作的余数;

6.Pi():返回圆周率;

7.Rand():返回一个随机数;

8.Sin():返回一个角度的正弦;

9.Sqrt():返回一个数的平方根;

10.Tan():返回一个角度的正切。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值