文档章节

mysql中的类似于oracle的to_date函数

z_jordon
 z_jordon
发布于 2015/02/25 10:15
字数 440
阅读 58
收藏 0

mysql日期和字符相互转换方法

date_format(date,'%Y-%m-%d')    -------------->oracle中的to_char();

str_to_date(date,'%Y-%m-%d')     -------------->oracle中的to_date();

%Y:代表4位的年份

%y:代表2为的年份

 

%m:代表月, 格式为(01……12)  

%c:代表月, 格式为(1……12)

 

%d:代表月份中的天数,格式为(00……31)  

%e:代表月份中的天数, 格式为(0……31) 

 

%H:代表小时,格式为(00……23)  

%k:代表 小时,格式为(0……23)  

%h: 代表小时,格式为(01……12)  

%I: 代表小时,格式为(01……12)  

%l :代表小时,格式为(1……12)

  

%i: 代表分钟, 格式为(00……59) 

%r:代表 时间,格式为12 小时(hh:mm:ss [AP]M)  

%T:代表 时间,格式为24 小时(hh:mm:ss) 

%S:代表 秒,格式为(00……59)  

%s:代表 秒,格式为(00……59)

比如有以下表结构:

mysql> desc logistics_express_trajectory;

+-------------------+--------------+------+-----+---------+-------+

| Field             | Type         | Null | Key | Default | Extra |

+-------------------+--------------+------+-----+---------+-------+

| id                | varchar(32)  | NO   | PRI | NULL    |       |

| longitude         | varchar(32)  | YES  |     | NULL    |       |

| latitude          | varchar(32)  | YES  |     | NULL    |       |

| create_date       | datetime     | YES  |     | NULL    |       |

| modify_date       | datetime     | YES  |     | NULL    |       |

| member_express_id | varchar(32)  | YES  | MUL | NULL    |       |

| loctime           | varchar(32)  | YES  |     | NULL    |       |

| radius            | varchar(16)  | YES  |     | NULL    |       |

| speed             | varchar(16)  | YES  |     | NULL    |       |

| orient            | varchar(16)  | YES  |     | NULL    |       |

| location          | varchar(256) | YES  |     | NULL    |       |

| client_loctime    | datetime     | YES  |     | NULL    |       |

| flag              | int(11)      | YES  |     | NULL    |       |

+-------------------+--------------+------+-----+---------+-------+

其中loctime为字符串格式的时间,格式为yyyy-mm-dd hh24:mi:ss,要把每条记录对应的client_loctime更新为loctime的date格式,可以执行以下语句:

update logistics_express_trajectory set client_loctime = str_to_date(loctime, '%Y-%m-%d %H:%i:%s') where loctime is not null;

注意mysql不会对错误的格式作检验,比如我执行语句(注意红字部分):

update logistics_express_trajectory set client_loctime = str_to_date(loctime, '%Y-%m-$d %H:%i:%s') where loctime is not null;

mysql也会提示执行完成,但更新后client_loctime是空的,这个问题居然搞了我十几分钟,汗!

© 著作权归作者所有

共有 人打赏支持
z_jordon
粉丝 36
博文 251
码字总数 78212
作品 0
厦门
技术主管
私信 提问
Mysql /Oralce 50个区别

   1. 有些人说Oracle没有限制,实际上他们说得可能是Oracle不支持LIMIT语法.不过可以rownum虚列来实现,不过会更加麻烦.   2. Oracle不支持偏移(offset)语法. 3. Oracle的复制功能可能比M...

pczhangtl
2014/08/03
0
0
oralce与mysql的区别

有些人说Oracle没有限制,实际上他们说得可能是Oracle不支持LIMIT语法.不过可以rownum虚列来实现,不过会更加麻烦.   2. Oracle不支持偏移(offset)语法. 3. Oracle的复制功能可能比MySQL更加...

wersdffg
2015/10/17
57
0
MySQL与Oracle 差异比较之一数据类型

编号 ORACLE MYSQL 注释 1 NUMBER int / DECIMAL DECIMAL就是NUMBER(10,2)这样的结构INT就是是NUMBER(10),表示整型; MYSQL有很多类int型,tinyint mediumint bigint等,不同的int宽度不一样...

竹竿先生
2016/10/18
11
0
mysql与oracle区别

编号 ORACLE MYSQL 注释 1 NUMBER int / DECIMAL DECIMAL就是NUMBER(10,2)这样的结构INT就是是NUMBER(10),表示整型; MYSQL有很多类int型,tinyint mediumint bigint等,不同的int宽度不一样...

architect刘源源
2018/03/08
1
0
Oracle与MySQL的SQL语句主要区别

首先是大体一致的,只是分页查询时oracle用的伪列(rownum),mysql用的是limit,具体的可以百度一下分页; 另外oracle对sql语句要求更为严格,而且oracle里变量较mysql更多点,oracle中有n...

孙幼凌
04/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Confluence 6 升级中的一些常见问题

升级的时候遇到了问题了吗? 如果你想尝试重新进行升级的话,你需要首先重新恢复老的备份。不要尝试再次对 Confluence 进行升级或者在升级失败后重新启动老的 Confluence。 在升级过程中的一...

honeymoose
38分钟前
0
0
C++随笔(四)Nuget打包

首先把自己编译好的包全部准备到一个文件夹 像这样 接下来新建一个文本文档,后缀名叫.nuspec 填写内容 <?xml version="1.0"?><package xmlns="http://schemas.microsoft.com/packaging/201......

Pulsar-V
今天
2
0
再谈使用开源软件搭建数据分析平台

三年前,我写了这篇博客使用开源软件快速搭建数据分析平台, 当时收到了许多的反馈,有50个点赞和300+的收藏。到现在我还能收到一些关于dataplay2的问题。在过去的三年,开源社区和新技术的发...

naughty
今天
3
0
Python3的日期和时间

python 中处理日期时间数据通常使用datetime和time库 因为这两个库中的一些功能有些重复,所以,首先我们来比较一下这两个库的区别,这可以帮助我们在适当的情况下时候合适的库。 在Python文...

编程老陆
今天
2
0
分布式面试整理

并发和并行 并行是两个任务同时进行,而并发呢,则是一会做一个任务一会又切换做另一个任务。 临界区 临界区用来表示一种公共资源或者说是共享数据,可以被多个线程使用,但是每一次,只能有...

群星纪元
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部