SQL学堂 第7课之使用函数处理数据

      最近项目需要用到部分有关存储过程的知识,说实话,关于数据库的知识在任何时候都是很有必要的,程序无非是功能和数据的组合,而如何操作数据,必然少不了SQL,所以从今天起,我会简单的记录一下关于SQL相关的基本知识,目前就放在SQL学堂下面吧。

      和其他语言一样,SQL也可以使用函数来处理数据。但是,对于不同的DBMS,尽管他们对几乎所有函数类型都支持,但是不同的DBMS的不同类型的函数展现和使用是有很大区别的,往往是使用频率越高的函数各个DBMS支持的一致性越差。反之亦然。


1,函数差异示例


函数 语法
提取字符串 Acceses使用MID(),DB2,Oracle,PostgreSQL,SQLite使用SUBSTR(),MySQL和SQLServer使用SUBSTRING()
数据类型转换 DB2和PostgreSQL使用CAST(),MySQL和SQL Server使用CONVERT(),Accese和Oracle使用多个函数
提取当前日期 Accese使用NOW(),DB2和PostgreSQL使用CURRENT_DATE,MySQL使用CURDATE(),Oracle使用SYSDATE(),SQLite使用DATE(),SQL Server使用GETDATE()

由上面的几个简单示例可以看出,各个DBMS对不同的函数类型基本上都是支持的,但是实现的方式区别还是很大的,具体需要参考对应DBMS的操作文档。考虑到代码的可移植性,许多人不建议在SQL中使用函数来处理数据;这个决定权在你自己


2,简单使用示例

(1)文本处理类函数

UPPER()

select  name   UPPER(name) AS   UPname

from 表名;

查看表中name对应的那一列的数据,并把查询的数据全部转为大写字母在UPname那一列展示出来;使用很简单

常用文本数据处理函数列表:

函数 说明
LEFT() 返回字符串左边字符
RIGHT() 返回字符串右边字符
LOWER(),Accses使用LCASE() 字符串字符全部转为小写
UPPER(),Accese使用UCASE() 字符串字符全部转为大写
LENGTH() 返回字符串长度
TRIM() 去除字符串两边空格
LTRIM() 去除字符串左边空格
RTRIM() 去除字符串右边空格

(2)日期和时间处理函数

       对于每一种DBMS存储日期和时间的格式都有自己的独特形式,以便可以快速有效的过滤,还可以节省空间。然而应用程序肯定不能直接使用这种形式的数据,所以这个时候就需要相应的函数来处理;这类函数的使用频率很高,还是那句话,不同的DBMS对此类函数支持的一致性很差。所以这一块还是结合具体的DBMS的操作指导来实践,各个DBMS差别是在太大。


(3)数值处理函数

这部分使用的相对较少,然而,各个DBMS对这类函数支持的一致性最好,哈哈哈;下面给出最常用的数值处理函数列表:

函数 说明
ABS() 返回一个数值的绝对值
COS() 返回一个数值的余弦值
SIN() 返回一个数值的正弦值
TAN() 返回一个数值的正切值
PI() 返回一个圆周率
EXP() 返回一个数值的指数值
SQRT() 返回一个数值的平方根


猜你喜欢

转载自blog.csdn.net/hfut_why/article/details/80028020