数据处理函数——MySQL函数整理

SQL函数介绍

与其他大多数计算机语言一样,SQL支持利用函数来处理数据,函数一般是在数据上执行的,他给的数据的转换提供了方便

相对而言,多数的SQL是可移植的,但是在实现之间会有所差异,函数更是如此

几乎每种主要的DBMS的实现都支持其他实现不支持的函数,而且差异还很大,所以有些程序员不支持使用特殊函数功能

但是不总是利用应用程序的性能,会让某些应用程序代码很艰难,所以学会主要的通用函数是十分必要的

如果你决定使用函数应该保持做好代码注释,以便以后自己或者其他人能确切的知道所编写SQL的含义

全文阅读和自己动手熟练需要大概二十分钟左右,熟练运用到数据库代码中还得需要你自己不断地积累和使用,希望不会浪费读者宝贵的时间

正文

使用函数之前

大多数的SQL实现支持以下类型的函数
  用于处理文本串,比如删除或填充值,转换值为大写或小写的文本函数
  用于在数值数据上进行算术操作,如返回绝对值,进行代数运算的数值函数
  用于处理日期和时间值并从这些值中提取有效成分,比如时间之差,检查日期有效的日期时间函数
  返回DBMS正是用的特殊信息,如返回用户登录信息,检查版本细节的系统函数

文本处理函数

下面是一个例子,我们先使用Upper()函数

数据处理函数——MySQL函数整理
正如我们看见的,Upper()将文本转换为大写,用法类似,下面是其他常用的文本处理函数

  • Left(): 返回串左边的字符
  • Length(): 返回串的长度
  • Locate(): 找出串的一个子串
  • Lower(): 将串变为小写
  • LTrim(): 去掉串左边的空格
  • Right(): 返回串右边的字符
  • RTrim(): 去掉串右边的空格
  • Soundex(): 返回串的SOUNDEX值
  • SubString(): 返回子串的字符
  • Upper(): 将串变为大写

日期和时间处理函数

以下是列出了常用的日期和时间处理函数
  • AddDate(): 增加一个日期

  • AddTime(): 增加一个时间

  • CurDate(): 返回当前日期

  • CurTime(): 返回当前的时间

  • Date(): 返回日期时间的日期部分

  • DateDiff(): 计算两个日期之差

  • Date_Add(): 高度灵活的日期运算函数

  • Date_Format():返回格式化日期和运算函数

  • Day(): 放回一个日期的天数部分

  • DayOfWeek(): 对于一个日期返回对应的星期几

  • Hour(): 返回一个时间的小时部分

  • Minute(): 返回一个时间的分钟部分

  • Month(): 返回一个时间的月份部分

  • Now(): 返回当前的日期和时间

  • Second(): 返回一个时间的秒部分

  • Time(): 返回一个日期时间的时间部分

  • Year(): 返回一个日期的年份部分

    提到时间就必须提到时间格式,日期格式的首选格式为yyyy-mm-dd,其他的两位年份格式也行,但是为了去除多义性是不推荐的

    MySQL处理00-69为2000到2069,处理70-99为1970到1999,还有04/05/06你自己分不清是2006年5月4日还是2004年5月6日

    当然日期操作还可以搭配函数和操作符进行筛选,而且有些函数是MySQL迭代出来的,查阅具体的文档可以确定使用那个函数

数值处理函数

数值处理函数仅仅处理数值数据,这些函数主要用于代数、三角或几何运算,因此使用频率不是很高,下面列出一些常用的数据处理函数
  • Abs():返回一个数的绝对值
  • Cos():返回一个角度的余弦
  • Exp():返回一个数的指数值
  • Mod():返回除操作的余数
  • Pi():返回圆周率
  • Rand():返回一个随机数
  • Sin():返回一个角度的正弦
  • Sqrt():返回一个数的平方根
  • Tan():返回一个角度的正切

总结

本文介绍了如何使用SQL的数据处理函数,重点应该是日期处理函数,当然最好都是全部都掌握

当然除了这些每个DBMS不同的函数,汇集函数是每个SQL都有并用来汇总数据的函数,也是需要掌握的

文章如果存在问题或者有其他需要补充的函数,希望大佬斧正和评论,各自努力,你我最高处见

数据处理函数——MySQL函数整理

上一篇:使用SQL Server Profiler跟踪所有SQL及事务的执行情况


下一篇:# 详细分析MySQL事务日志(redo log和undo log)