数据库所对应的函数
函数一般时在数据上执行的,为数据的转换和处理提供了方便。
下面列出三个常用的函数及其在各个DBMS中的语法:
函 数 | 语 法 |
提取字符串的组成部分 | Access使用MID();DB2,Oracle,PostgreSQL和SQLite使用SUBSTR();MySQL和SQL Server使用SUBSTRING() |
数据类型转换 | Access和Oeacle使用多个函数,每种类型的转换都有一个函数;DB2和PostgreSQL使用CAST();MariaDB.MySQL和SQL Server使用CONVERT() |
取当前的值 | Accsee使用Now();DB2和PostgreSQL使用CURRENT_DATE;MariaDB和MySQL使用CURDATE();Oracle使用SYSDATE;SQLServer使用GEDATE();SQLite使用DATE() |
文本处理函数
函 数 | 说 明 |
LEFT()(或使用子字符串函数) | 返回字符串左边的字符 |
LENGTH()(也使用DATALENGTH()或LEN()) | 返回字符串的长度 |
LOWER()(Access使用LCASE()) | 将字符串转换为小写 |
LTRIM() | 去掉字符串左边的空格 |
RIGHT()(或使用子字符串函数) | 返回字符串右边的字符 |
RTGIM() | 去掉字符串右边的空格 |
SOUNDEX() | 返回字符串的SOUNDEX值 |
UPPER()(Access使用UCASE()) | 将字符串转换为大写 |
日期和时间处理函数
在SQL Server 使用如下形式:
Select num from Table where DATEPART(yy,date) = 2012;
在Access中使用如下形式:
Select num from table where DATEPART('yyyy',date)=2012;
在PostgreSQL使用如下形式:
Select num from table where DATE_PART('year',date)=2012;
在Oracle使用如下形式:
Select num from Table WHERE to_number(to_char(date,'yyyy'))=2012;
to_char()函数时提取日期的成分,to_number()用来将提取出的成分转换为数值。还有一种写法为
Select num from Table where date between to_date('01-01-2012') and to_date(12-31-2012)。
在MySQL和MariaDB具有各种日期处理函数,但没有DATEPART()。
MySQL和MariaDB用户可使用名为YEAR()的函数从日期中提取年份。
Select num from Table where YEAR(date)=2012;
Select num from Table wherestrftime('%y',date)='2012';
DBMS提供的功能远不止简单的日期成分提取。大多数DBMS具有比较日期,执行基于日期的运算,选择日期格式等的函数。
数值处理函数
函 数 | 说 明 |
ABS() | 返回一个数的绝对值 |
COS() | 返回一个角度的余弦 |
EXP() | 返回一个数的指数值 |
PI() | 返回圆周率 |
SIN() | 返回一个角度的正弦 |
SQRT() | 返回一个数的平方根 |
TAN() | 返回一个角度的正切 |
聚集函数
满足一下条件 1. 确定表中行数(或者满足每个条件或包含特定值的行数);
2. 获取表中某些行的和;
3. 找出表列(或所有行或某些特定的行)的最大值,最小值,平均值。
函 数 | 说 明 |
AVG() | 返回某列的平均值 |
COUNT() | 返回某列的行数 |
MAX() | 返回每列的最大值 |
MIN() | 返回某列的最小值 |
SUM() | 返回某类值的和 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· Qt个人项目总结 —— MySQL数据库查询与断言