今天这一篇分享MySQL中的字符串处理工具与日期时间处理,这一部分内容虽然看似不多,但是往往是输出处理中的的痛点。
我的MySQL数据库中已经建好了一个包含两列日期与一列薪资范围字段。(深感通过R或者Python建表然后写入MySQL的效率要比使用MySQL自己的编辑器写方便!)
MySQL中的日期与时间操作涉及到的函数相当多,实际应用需要按照需要和场景来选择该使用哪一类函数,这一篇我只挑选了三类重要的日期与时间函数进行总结。
1、日期格式化:
因为本地文本文件中存储的日期导入数据库,很多情况下是当做文本的,当需要使用日期参与计算的时候需要使用日期格式化函数进行格式转化。
MySQL默认支持的日期格式是YYYY-MM-DD或者YYYY/MM/DD,所以当导进去的日期是此种格式的话,直接使用date函数即可执行。
date()
str_to_date()
当日期/时间格式比较复杂或者与常用的日期结构差异较大时,可以使用str_to_date函数进行原始日期格式的声明
函数中第二个参数的声明方式要严格与输入的日期格式对应。
DATE_FORMAT()
如果你已经得到了一个标准日期格式的字段,想要自定义日期显示的格式,可以使用DATE_FORMAT函数,
FROM_UNIXTIME()
如果你拿到的原始数据是10位数值的时间戳,需要使用这个函数来进行标准时间的转化。
2、日期计算
3、日期元素的输出:
关于日期其中部分元素的输出,除了使用上面那个DATE_FORMAT()函数之外,可以直接使用单个元素函数进行提取。
year
month
day
quarter
weekday
hour
minute
second
第二部分:
字符串格式化函数:
字符串操纵函数:
可以看到CONCAT_WS允许自定义拼接的间隔符,所以实用性更强一些。
substring_index函数运行我们按照特定字符出现的位置进行截取,很多时候可以起到关键作用。
使用substring_index函数处理日期元素输出:
使用substring_index函数处理带有字母的薪资区间字段:
以下还剩余两类字符串处理函数,分别是字符串定位函数,字符串截取函数
locate函数可以给出字符串中某个特定字符串相对于整个字符串长度的精确位置。
left()/right()/mid()函数则可以分别从左侧、右侧或者中间某个特定位置截取固定长度的字符内容。
substring()函数则是根据某个特定字符串位置开始截取固定长度字符内容。
使用locate函数+left()/right()/mid()函数处理薪资上下限问题。
使用substring函数处理薪资上下限问题:
以上便是本篇关于MySQL日期/时间与字符串处理的相关学习笔记与心得总结,分享给大家,希望能够一起学习、一起进步!
欢迎关注数据小魔方qq交流群
领取专属 10元无门槛券
私享最新 技术干货