SQL学习笔记之数据处理函数

函数

不同的DBMS中函数的作用和语法都有很大差异,SQL函数是不可移植的
函数可以用作SELECT语句的列表成分,也可以用作select其他子句的成分

文本处理函数

upper()函数可以用来将字符转化为大写

select vend_name, upper(vend_name) as vend_name_upcase
from Vendors
order by vend_name;

输出两列,一列为vend_name,另一列vend_name_upcase为大写的vend_name

常用文本处理函数
在这里插入图片描述
其中SOUNDEX函数可以把文本转化为其发音,可以用于筛选发音类似的文本及字符
比如某个表格把联系名Michael Green错输入为Michelle Green,如果按照Michael Green检索则不会返回数据
where cust_contact = 'Michael Green';
然而这两个名字发音类似,如果使用soundex()函数转化为发音
where soundex(cust_contact) = soundex('Micheal Green');
自动匹配所有发音类似Michael Green的联系名,就可以正确匹配出结果

日期和时间处理函数

日期和时间函数移植性最差,不懂DBMS的函数使用很不一样

检索2012年的所有订单

SQL Server:

select order_num
from Orders
where datepart(yy, order_data) = 2012;

Access:

select order_num
from Orders
where datepart('yyyy',order_date)=2012;

datepart()返回日期的一部分
Oracle:
没有datepart()函数

select order_num
from Orders
where to_number(to_char(order_date,'YYYY'))=2012;

to_char()函数提取年份并转化为字符串,to_number()函数转化为数字
to_date()函数将字符串转化为日期
也可以用between&and提取两个日期之间的所有订单

select order_num
from Orders
where order_date between to_date('01-01-2012') and to_date('12-31-2012');

mySQL:
用year()函数提取年份

select order_num
from Orders
where year(order_date)=2012;

数值处理函数

数值处理函数在不同的DBMS中是最统一的

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值