博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL数据处理函数
阅读量:5749 次
发布时间:2019-06-18

本文共 1370 字,大约阅读时间需要 4 分钟。

数据处理函数

有时从数据库表中获取到的数据须要进行一些处理。

如将小写字母替换为对应的大写字母。这个处理过程能够在客户机上进行。也能够在数据库上进行。

数据库上进行会更高效。数据库中有对应的数据处理函数来处理这些数据,可是在SQL中使用特殊的数据处理函数会减少其可移植性。不同的DBMS系统,其数据处理函数不同。

大多数的SQL支持下面类型的函数
  • 用于处理文本串的函数,如删除、填充值、转换大写和小写;
  • 用于在数值数据上进行算术操作的函数。
  • 用于处理日期和时间值并从这些值中提取特殊成分,如两个日期仅仅差的函数;
  • 返回DBMS正在使用的特殊信息的系统函数,如返回用户登录,检查版本号;

文本处理函数

样例:将某一列字符转换为大写字符

经常使用文本处理函数

函数 说明
Left() 返回串左边的字符
Length() 返回串的长度
Locate() 找出串的一个子串
Lower() 将串转换为小写
LTrim() 去掉串左边的空格
Right() 返回串右边的字符
RTrim() 去掉串右边的空格
Soundex() 返回串的SOUNDEX值
SubString() 返回子串的字符
Upper() 将串转换为大写
Soundex()函数。找出发音类似的串。如因为拼写错误,在表中记录了发音相似的名字。这时假设使用LIKE或者其它的匹配搜索并不高效。

使用SoundEX()会方便非常多。

例如以下样例。真是名字为 Y.Lee,可是表中存放的名字为Y.Lie,假设使用匹配搜索会发现搜索不到,这时能够使用SoundEX()函数:

日期和时间处理函数

经常使用日期和时间处理函数
函数 说明
AddDate() 添加一个日期(天、周)
AddTime() 添加一个时间(时。分)
CurDate() 返回当前日期
CurTime() 返回当前时间
Date() 返回日期时间的日期部分
DateDiff() 计算两个日期之差
Date_Add() 高度灵活的日期计算函数
Date_Format 返回一个格式化的日期或字符串
Day() 返回一个日期的天数部分
DayOfWeek() 对于一个日期返回相应的星期几
Hour() 返回一个时间的小时部分
Minute() 返回一个时间的分钟部分
Month() 返回一个时间的月份部分
Now() 返回当前日期
Second() 返回一个时间的秒部分
Time() 返回一个日期时间的时间部分
Year() 返回一个日期的年份部分

简单的时间对照:

可是假设order_date后面跟的有时间,那么上面的SQL语句将匹配不出来。因此我们能够使用日期函数,仅比較表中的日期,而忽略时间:

搜索出一个月的订单;

可是有时不想去算这个月究竟有多少天,则能够实现例如以下:

数值处理函数

数值处理函数仅处理数值数据。这些函数一般用于代数、三角或者几何运算。
经常使用数值处理函数例如以下
函数 说明
Abs() 返回一个数的绝对值
Cos() 返回一个角度的余弦
Exp() 返回一个数的指数值
Mod() 返回除操作的余数
Pi() 返回圆周率
Rand() 返回一个随机数
Sin() 返回一个角度的正弦
Sqrt() 返回一个数的平方根
Tan() 返回一个数的正切
以下是一个正切的样例:
你可能感兴趣的文章
数据库连接
查看>>
Android开发学习——自定义View
查看>>
JQ使用Append添加html文本后再删除该html文本
查看>>
B/S与C/S结构的区别
查看>>
MathType中常见的两种符号的运用
查看>>
自动填充功能关闭解决表单input框屎黄色问题
查看>>
python_控制台输出带颜色的文字方法
查看>>
Java线程Thread的状态解析以及状态转换分析 多线程中篇(七)
查看>>
[十二]JavaIO之BufferedInputStream BufferedOutputStream
查看>>
java泛型中特殊符号的含义
查看>>
一秒 解决 ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql 问题
查看>>
linuxan安装redis出现Newer version of jemalloc required错误
查看>>
在centos7下用http搭建配置svn服务
查看>>
PHP APP端支付宝支付
查看>>
TCP长连接的一些事儿
查看>>
Android组件化最佳实践 ARetrofit原理
查看>>
舍弃浮躁, 50条重要的C++学习建议
查看>>
Hibernate懒加载/延迟加载机制总结
查看>>
fail2ban安装与使用
查看>>
拦截器(Interceptor)中的invocation.invoke()是什么意思?
查看>>