MySQL ---------- 数据处理函数(文本、日期、数值)(十)

与大多数语言一样,SQL支持利用函数来处理数据。

  好处:函数一般在数据上执行,给数据的转换和处理提供了方便。

可移植的(portable) : 能运行在多个系统上的代码。

 注意:

  1、多数SQL 是可移植的,在不同的DBMS 上虽有差异,但不难处理

  2、函数的可移植性不高,几乎主要的DBMS 都有各自独特的函数(我行你不行,你行我不行之类),而且差异还很大

  3、如果决定使用函数,要写注释(--),函数可以有效的完成工作,利于应用程序的性能。

大多数SQL 实现支持的类型函数:

  1、用于处理文本串(如删除或填充值,转换值为大写或小写)的文本函数

  2、用于在数值数据上进行算数操作(如返回绝对值,进行代数运算)的数值函数

  3、用于处理日期和时间值并从这些值中提取特定成份(如:返回两个日期之差,检查日期的有效性等)的日期和时间函数

  4、返回DBMS 正使用的特殊信息(如返回与用户登陆信息,检查版本细节)的系统函数

one、文本处理函数

 

 简单使用:

--  将名字转换为大写
 select vend_name,Upper(vend_name) as vend_bigname from vendors order by vend_name;

 soundex() 函数匹配所有发音类似的

 要全部包括起来   

select  字段 from  表名 where soundex(字段名) = soundex(该字段中发音类似的值);

 Two、日期和时间处理函数

日期和时间采用相应的数据类型和特殊的格式存储,以便能快速和有效的排序或过滤,并节省物理存储空间

一般应用程序不使用用来存储日期和时间的格式,因此日期和时间函数总是被用来读取统计和处理这些值。

注意:MySQL 使用的日期格式,无论你什么时候指定一个日期,不管是插入、更新或使用where进行过滤,

  日期的格式必须是 yyyy-mm-dd ,虽然,MySQL支持两位数字的年份,但这是首选的(如2020-02-20)

 使用的表

 我们发现存储的数据类型是 datetime 格式是 yyyy-MM-dd HH:mm:ss

而我们一般可能需要的只是日期部分,怎么办来

有两种方式,

  一种是放在程序里取日期部分

  另一种是利用函数只取日期部分

--  取日期部分
select order_num,date(order_date) as onlydate from orders order by order_date;

 查询也是,如果只是想查询日期,则要使用Date(),即使你知道相应的列只包括日期也是如此

-- 将日期是2005-09-01 的检索出来
 select order_num,order_date as onlydate from orders where date(order_date)= '2005-09-01' order by order_date;

 时间的范围查找   

-- 将日期在2005-09-01 到 2005-09-30之间的 的检索出来
 select order_num,order_date as onlydate from orders where date(order_date) between '2005-09-01' and '2005-09-30' order by order_date;

 支持多种查询方式

Three、数值处理函数  : 对数值进行处理,一般用于代数、三角或几何运算

在主要的DBMS 中数值函数是最一致最统一的函数

 

 试一试

 

猜你喜欢

转载自www.cnblogs.com/obge/p/12961602.html