MySQ基础入门系列之——字符与日期数据处理

今天这一篇分享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交流群

本文来自企鹅号 - 数据小魔方媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

编码,深浅copy

encode,decode在python2中使用的一些迷糊,python3中更容易理解 要理解encode和decode,首先我们要明白编码,字符和二进制的相关...

3196
来自专栏magicsoar

关于字符编码的那些事

一、编码是什么 编码为了某种目的把信息从一种形式集合转换为另一种形式集合的过程,古时的鸣金收兵,从某种意义上讲也是一种编码,将帅发出了退兵的命令,为了让更多的人...

1716
来自专栏落影的专栏

leetcode––为求职为生的编程网站

前言 leetcode是一个在线编程网站,题目源于各大公司的面试、有各种解法、多语言和在线测试支持; 我们扫一眼leetcode上的Company:Googl...

34310
来自专栏Python小屋

Pythonic:递归、回溯等5种方法生成不重复数字整数

问题描述:从0到9这10个数字任选3个不重复的数字,能构成哪些三位数? So easy!看到这样的问题,很多人会写出类似(注意,只是类似,我为了使得本文几个函...

3517
来自专栏同步博客

PHP定义字符串的四种方式

  我们在使用php进行开发的时候,大多数使用双引号、单引号进行定义字符串。既然有这两种方式,那么他们之间肯定是有区别的。

702
来自专栏Crossin的编程教室

【每周一坑】罗马数字转换

罗马数字是欧洲在阿拉伯数字传入之前使用的一种数码,现在的使用已经非常少了,大概偶尔会在钟表、文章中的标号等地方还能见到。 罗马数字采用七个罗马字母作数字、即 I...

2937
来自专栏Fundebug

4个错误使用JavaScript数组方法的案例

为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习。

994
来自专栏mathor

第四届蓝桥杯决赛B组C/C++——空白格式化

653
来自专栏CDA数据分析师

Python3 大作战之 encode 与 decode 讲解

原文链接http://blog.csdn.net/qq_29053519/article/details/79170519 大家好,很久没更新了,也是年底了最近...

1795
来自专栏玄魂工作室

如何学python-第五课 流程控制初阶

当我们写程序的时候,我们首要思考的问题就是,程序接收什么样的输入,产生什么样的输出。控制用户的输入,进行一系列处理,并最终得到一个输出,这中间的过程就叫做流程控...

27610

扫码关注云+社区