我是靠谱客的博主 大力鸡,最近开发中收集的这篇文章主要介绍SQL必知必会—使用数据处理函数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

《SQL必知必会》读书笔记

1.函数

与几乎所有DBMS都等同地支持SQL语句(如SELECT)不同,每一个DBMS都有特定的函数。事实上,只有少数几个函数被所有主要的DBMS等同支持。

DBMS函数的差异:

这里写图片描述

可以看到,与SQL语句不一样,SQL函数不是可移植的。这表示为特定SQL实现编写的代码在其他实现中可能不正常。

2.使用函数

大多数SQL实现支持以下类型的函数。

  • 用于处理文本字符串(如删除或填充值,转换值为大写或小写)的文本函数。
  • 用于在数值数据上进行算术操作(如返回绝对值,进行代数运算)的数值函数。
  • 用于处理日期和时间值并从这些值中提取特定成分(如返回两个日期之差,检查日期有效性)的日期和时间函数。
  • 返回DBMS正使用的特殊信息(如返回用户登陆信息)的系统函数。

我们在上一课看到函数用作SELECT语句的列表成分,但函数的作用不仅于此。它还可以作为SELECT语句的其他成分,如WHERE子句中使用,在其他SQL语句中使用等,后面会做更多的介绍。

3.文本处理函数

常用的文本处理函数:

  • LEFT() 返回字符串左边的字符
  • LENGTH() 返回字符串的长度
  • LOWER() 将字符串转换为小写
  • LTRIM() 去掉字符串左边的空格
  • RIGHT() 返回字符串右边的字符
  • RTRIM() 去掉字符串右边的空格
  • SOUNDEX() 返回字符串的SOUNDEX()
  • UPPER() 将字符串转换为大写
SELECT vend_name, UPPER(vend_name) as vend_name_upcase
FROM Vendors
vend_name
vend_name_upcase
Bear Emporium
BEAR EMPORIUM
Bears R Us
BEARS R US
Doll and Inc.
DOLL HOUSE INC.

4.日期和时间处理函数

应用程序一般不使用日期和时间的存储格式,因此日期和时间函数总是用来读取、统计和处理这些值。由于这个原因,日期和时间函数在SQL中具有重要的作用。遗憾的是,它们很不一致,可移植性最差。

SQL Serve

SELECT order_num
FROM Orders
WHERE DATEPART(yy,order_date) = 2012
order_num
20005
20006
20007
20008
20009

Access

SELECT order_num
FROM Orders
WHERE DATEPART(yyyy,order_date) = 2012

这个例子中,DATEPART()函数返回日期的一部分。DATEPART()函数有两个参数,它们分别是返回的成分和从中返回成分的日期。

PostgreSQL类似功能的DATE_PART()函数

SELECT order_num
FROM Orders
WHERE DATE_PART('year',order_date) = 2012

Oracle

Oracle没有上述两个函数,不过有几个可用来完成相同检索的日期处理函数。

SELECT order_num
FROM Orders
WHERE to_number(t0_char(order_date,'YYYY')) = 2012

在这个例子中,to_char()函数用来提取日期的成分,to_number()用来将提取出的成分转换为数值,以便能与2012进行比较。

完成相同工作的另一方法是使用BETWEEN操作符:

SELECT order_num
FROM Orders
WHERE order_date BETWEEN to_date('01-01-2012')
AND to_date('12-31-2012')

在此例子中,Oracle的to_date()函数用来将两个字符串转换为日期。

MySQL和MariaDB

MySQL和MariaDB用户可使用名为YEAR()的函数从日期中提取年份:

SELECT order_num
FROM Orders
WHERE YEAR(order_date) = 2012

SQLite

SELECT order_num
FROM Orders
WHERE strftime('%Y',order_date) = 2012

这里给出的例子提取和使用日期的成分(年)。按月份过滤,可以进行相同的处理,指定AND操作符以及年和月份的比较。

大多数DBMS具有比较日期、执行基于日期的运算、选择日期格式等的函数。

5.数值处理函数

数值处理函数仅处理数值数据。

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

这里写图片描述

最后

以上就是大力鸡为你收集整理的SQL必知必会—使用数据处理函数的全部内容,希望文章能够帮你解决SQL必知必会—使用数据处理函数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部