MySQL必知必会 学习笔记 第十一章 使用数据处理函数

数据库中函数的可移植性不强,每种DBMS都支持其他实现不支持的函数,有时差异还很大。

将文本全部大写的函数:

SELECT Upper(columnName)
FROM tableName;

在这里插入图片描述
在这里插入图片描述
right函数参数为right(columnName, num),num含义为要返回的字符数,left函数与此相似:
在这里插入图片描述
locate函数参数为locate(substr, str, pos),substr指明要查找的串,str指明要查找的列,pos指明要查找的起始位置,起始位置是可选参数,默认为0,返回值为子串开始的下标,此下标是从1开始的:
在这里插入图片描述
substring函数参数为substring(columnName, pos, len),该函数返回从下标为pos开始的长度为len的子串,原串的首字符下标为1:
在这里插入图片描述
Soundex函数返回值为描述文本串其语音表示的字母数字模式,可用于返回发音相似的列:
在这里插入图片描述
书上的例子:
在这里插入图片描述
在这里插入图片描述
MySQL使用的日期格式为yyyy-mm-dd,不管是插入或更新表值还是用WHERE子句进行过滤,都要用此格式。

MySQL也支持两位数字的年份,此时00-69表示2000-2069,70-99表示1970-1999,使用四位数字的年份更可靠,MySQL就不用进行假定了。

以下选取特定日期的行会运行失败:

SELECT columnName
FROM tableName
WHERE timeColumn = '2005-09-01';

上例中timeColumn的类型为datetime,这种类型存储日期及时间值。可能存储的值为2005-09-01 11:30:05,但以上语句无法搜索出此行,WHERE的匹配会失败。必须使用Date函数,此函数只提取列的日期部分:

SELECT columnName
FROM tableName
WHERE Date(timeColumn) = '2005-09-01';

Time函数返回列的时间部分,这两个函数是在MySQL 4.1.1中首次引入。

匹配2005年9月份的所有订单:

SELECT columnName
FROM tableName
WHERE Date(timeColumn) BETWEEN '2005-09-01' AND '2005-09-30';

另一种方式:

SELECT columnName
FROM tableName
WHERE Year(timeColumn) = 2005 AND Month(timeColumn) = 9;

在这里插入图片描述
虽然数值处理函数没有串或日期处理函数使用的这么频繁,但它却是主流DBMS中最一致的函数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值