美文网首页我爱编程
【MySQL必知必会】第11章:数据处理函数

【MySQL必知必会】第11章:数据处理函数

作者: 100gle | 来源:发表于2018-04-09 16:36 被阅读22次

11.1 函数

大多数SQL支持以下几类型的函数:

  • 文本处理函数
  • 数值处理函数
  • 日期处理函数
  • 系统函数

11.2 文本函数

大小写转换

使用Upper()Lower()函数可以对字段的值进行大小写转换

#大写
SELECT vend_name, Upper(vend_name) AS vend_name_upcase
FROM vendors
ORDER BY vend_name;

#小写
SELECT vend_name, Lower(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');

11.3 数值处理函数

数值处理函数仅处理数值数据。这些函数一般主要用于代数、三角 或几何运算,因此没有串或日期—时间处理函数的使用那么频繁;并且数值函数是最一致最统一的函数:

  • 所有函数都时首字母大写
  • Abs():求绝对值
  • Exp():求指数值
  • Mod():求余
  • Sqrt():求平方根
  • Sum():求和

11.4 日期处理函数

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

  • Date()(除此之外还有Month、Day、Hour的等):返回日期时间的日期部分(或对应部分)
  • Now():返回当前日期和时间
  • Year():返回日期的年份部分

在使用日期值时,需要注意的是:

  • 日期必须为「yyyy-mm-dd」格式才能进行操作
  • 虽然MySQL支持2位数年份,但是使用完安政的4位数字年份更可靠

如果不先考虑日期值的格式问题就进行操作检索,那么很有可能导致检索失败;最稳妥的办法就是使用相应部分的函数来对日期值字段进行读取:

#检索失败
SELECT cust_id, order_num
FROM orders
WHERE order_date = '2005-09-01';

#使用正则表达式检索
SELECT cust_id, order_num
FROM orders
WHERE Date(order_date) REGEXP '2005-09-[01-30]'

相关文章

网友评论

    本文标题:【MySQL必知必会】第11章:数据处理函数

    本文链接:https://www.haomeiwen.com/subject/ruvihftx.html