使用函数处理数据
/*
函数处理数据的一个问题就是每个dbms都有特定的函数,
在不同的dbms中,各个函数的名称和语法可能极其不同
这意味着特定sql实现编写的代码在其他视线中可能不正常
*/
-- 在mysql中:
/* 提取字符串的组成部分 substring()
数据类型转换 convert()
取当前日期 curdate()
*/
#如果使用函数,要注意注释,因为不同的sql服务器函数含义不同
-- 大多数dbms支持的函数
/*
1.处理文本字符串(如删除或填充值,转换值为大写或小写)的文本函数
2.用于在数值数据上进行算术操作(如返回绝对值,进行代数运算)的数值函数
3.用于处理日期和时间值并从这些之中提取特定成分(如返回两个日期之差,检查日期有效性)的日期和时间函数
4.返回dbms正使用的特殊信息(如返回用户登录信息)的系统函数
*/
-- 文本处理函数 (upper())
select vend_name,upper(vend_name) as vend_name_upcase
from vendors
order by vend_name;
/*
常用的文本处理函数:
left()(或使用子字符串函数) 返回字符串左边的字符
length()(也使用datalength()或len()) 返回字符串的长度
lower()(access使用lcase()) 将字符串转换为小写
ltrim() 去掉字符串左边的空格
right()(或使用子字符串函数) 返回字符串右边的函数
rtrim() 去掉字符串右边的空格
soundex() 返回字符串的soundex值
upper()(access使用ucase()) 将字符串转换为大写
*/
#soundex是一个将任何文本串转换为描述其语音表示的字母数字模式的算法
/*考虑了累的发音字符和音节,使得能对字符串进行发音比较而不是字母比较*/
------------------------------
-- 对比
select cust_name,cust_contact
from customers
where cust_contact = 'michael green';
#输出结果没有值原因是信息录入的时候输入错了,联系名实际上应该是michael green
select cust_name,cust_contact
from customers
where soundex(cust_contact) = soundex('michael green');
-- 日期和时间处理函数(以特殊的格式存储,每种dbms都有自己的特殊形式)
/* 由于应用程序一般不使用日期和时间的存储格式,所以日期和时间函数总是用来读取、统计和处理这些值。它们的可移植性最差*/
#mysql中使用名为year()的函数从日期中提取年份
select order_num
from orders
where year(order_date) = 2012;
-- 数值处理函数(仅处理数值数据,主要用于代数、三角或几何运算)
/*
常用数值处理函数:
abs() 返回一个数的绝对值
cos() 返回一个角度的余弦
exp() 返回一个数的指数值
pi() 返回圆周率
sin() 返回一个角度的正弦
tan() 返回一个角度的正切
*/
上一篇: 微信公众号商城怎么搭建和如何运营
推荐阅读
-
ASP.NET框架中的数据绑定概要与数据绑定表达式的使用
-
浅谈mysqldump使用方法(MySQL数据库的备份与恢复)
-
iOS中使用NSURLConnection处理HTTP同步与异步请求
-
详解iOS App开发中session和coockie的用户数据存储处理
-
Android Picasso使用高斯模糊处理的示例代码
-
Android 中 EventBus 的使用之多线程事件处理
-
asp.net 使用SqlBulkCopy极速插入数据到 SQL Server
-
PHP5中使用mysqli的prepare操作数据库的介绍
-
在ASP.NET 2.0中操作数据之四:使用ObjectDataSource展现数据
-
c# 使用Entity Framework操作Access数据库的示例