MySQL必知必会 (11)

使用数据处理函数

11.1 函数

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

函数没有SQL的可移植性强 :

能运行在多个系统上的代码称为可移植的(portable)。而函数的可移植性却不强。几乎每种主要的DBMS的实现都支持其
他实现不支持的函数,而且有时差异还很大。

11.2 使用函数

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

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

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

返回DBMS正使用的特殊信息(如返回用户登录信息,检查版本细节)


11.2.1 文本处理函数

上一章中我们已经看过一个文本处理函数的例子,其中使用RTrim()函数来去除列值右边的空格。




注意:SOUNDEX是一个将任何文本串转换为描述其语音表示的字母数字模式的算法。SOUNDEX考虑了类似的发音字符和音节,使得能对串进行发音比较而不是字母比较。



11.2.2 日期和时间处理函数

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


用日期进行过滤需要注意一些别的问题和使用特殊的MySQL函数。


首先需要注意的是MySQL使用的日期格式。无论你什么时候指定一个日期,不管是插入或更新表值还是用WHERE子句进行过滤,日期必须为格式yyyy-mm-dd

应该总是使用4位数字的年份 支持2位数字的年份,MySQL处理00-69为2000-2069,处理70-99为1970-1999。虽然它们可能是打算要的年份,但使用完整的4位数字年份更可靠,因为MySQL不必做出任何假定。



如果要的是日期,请使用Date()。


如果你想检索出2005年9月下的所有订单,怎么办?简单的相等测试不行,因为它也要匹配月份中的天数。




11.2.3 数值处理函数

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

具有讽刺意味的是,在主要DBMS的函数中,数值函数是最一致最统一的函数。


猜你喜欢

转载自blog.csdn.net/wangdd_199326/article/details/80799644