使用数据处理函数——文本、日期和时间、数值处理函数

1、函数

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


2、使用函数

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


2.1 文本处理函数

常用的文本处理函数有:
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
对上述函数的SOUNDEX需要做进一步的解释。SOUNDEX是一个将任何文本串转换为描述其语音表示的字母数字模式的算法。SOUNDEX考虑了类似的发音字符和音节,使得能对串进行发音比较而不是字母比较。虽然SOUNDEX不是SQL概念,但MySQL(就像多数DBMS一样)都提供对SOUNDEX的支持。
在这里插入图片描述


2.2 日期和时间处理函数

常用的日期和时间处理函数有:
在这里插入图片描述
MySQL使用的日期格式必须为yyyy-mm-dd。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


2.3 数值处理函数

数值处理函数一般主要用于代数、三角或几何运算,因此没有串或日期—时间处理函数的使用那么频繁。
常用的数值处理函数有:
在这里插入图片描述


-- Upper()将文本转换为大写
SELECT vend_name, UPPER(vend_name) AS vend_name_upcase FROM vendors ORDER BY vend_name;

-- 用函数soundex()对串进行发音比较
SELECT cust_name, cust_contact FROM customers WHERE SOUNDEX(cust_contact) = SOUNDEX ('Y lie');

-- 想要列中的日期部分,用date()函数
SELECT cust_id, order_num FROM orders WHERE DATE(order_date) = '2005-09-01';

-- 检索2015年9月下的所有订单
SELECT cust_id, order_num, order_date FROM orders WHERE DATE(order_date) BETWEEN '2005-09-01' AND '2005-09-30';

-- 检索2015年9月下的所有订单,方法2:一种不需要记住每个月中有多少天或不需要操心闰年2月的办法
SELECT cust_id, order_num, order_date FROM orders WHERE YEAR(order_date) = 2005 AND MONTH(order_date) = 09;

猜你喜欢

转载自blog.csdn.net/weixin_49984044/article/details/108682590
今日推荐