1.Date ——> String
使用的函数:DATE_FORMAT(date,format) date:需要转换的日期 format:格式化的样式
format样式整理:
年: %Y 显示四位 : 2015 %y 只显示后两位 :15
月: %M 月份的英文显示:October %m 月份的阿拉伯显示:01-12 %b 月份的英文缩略显示:Oct %c 月份的阿拉伯显示:1-12
日: %d 阿拉伯显示:00-31 %D 带有英文后缀:1st-31th %e 阿拉伯显示:1-31 %j 年的天:001-366
时: %H :00-23 %h:01-12 %I:01-12 %k:0-23 %l:1-12
分: %i:00-59
秒: %S:00-59 %s:00-59
微妙: %f
AM/PM:%p
12小时制时间:%r: 02:02:44 PM
24小时制时间: %T: 14:02:44
周: %W:周的英文显示 %w 周的阿拉伯显示 :0(星期日)-6(星期六) %a 周的英文缩略显示:Mon-
eg:DATE_FORMAT(now(),"%Y-%m-%d %T") 2015-09-01 17:10:52
DATE_FORMAT(now(),"%Y-%m-%d %H:%i:%s %p") 2015-09-01 17:10:52 PM
2.String ——>Date
2.1使用的函数:STR_TO_DATE(str,format) str:字符形式的日期 format:格式化样式
eg: STR_TO_DATE('1992-04-12',"%Y-%m-%d") 输出:1992-04-12(日期形式)
2.2直接用date(20170101)格式
eg:start_time BETWEEN date(20170603) AND date(20170604)
3.mysql的日期类型
mysql(5.5)所支持的日期时间类型有:DATETIME、 TIMESTAMP、DATE、TIME、YEAR。
几种类型比较如下:
日期时间类型 | 占用空间 | 日期格式 | 最小值 | 最大值 | 零值表示 |
DATETIME | 8 bytes | YYYY-MM-DD HH:MM:SS |
1000-01-01 00:00:00 |
9999-12-31 23:59:59 |
0000-00-00 00:00:00 |
TIMESTAMP | 4 bytes | YYYY-MM-DD HH:MM:SS | 19700101080001 |
2038 年的某个时刻 |
00000000000000 |
DATE | 4 bytes |
YYYY-MM-DD | 1000-01-01 |
9999-12-31 |
0000-00-00 |
TIME | 3 bytes |
HH:MM:SS | -838:59:59 | 838:59:59 |
00:00:00 |
YEAR | 1 bytes |
YYYY | 1901 |
2155 |
0000 |
DATETIME
DATETIME 用于表示 年月日 时分秒,是 DATE 和 TIME 的组合,并且记录的年份(见上表)比较长久。如果实际应用中有这样的需求,就可以使用 DATETIME 类型。
TIMESTAMP
- TIMESTAMP 用于表示 年月日 时分秒,但是记录的年份(见上表)比较短暂。
- TIMESTAMP 和时区相关,更能反映当前时间。当插入日期时,会先转换为本地时区后再存放;当查询日期时,会将日期转换为本地时区后再显示。所以不同时区的人看到的同一时间是 不一样的。
- 表中的第一个 TIMESTAMP 列自动设置为系统时间(CURRENT_TIMESTAMP)。当插入或更新一行,但没有明确给 TIMESTAMP 列赋值,也会自动设置为当前系统时间。如果表中有第二个 TIMESTAMP 列,则默认值设置为0000-00-00 00:00:00。
- TIMESTAMP 的属性受 Mysql 版本和服务器 SQLMode 的影响较大。
如果记录的日期需要让不同时区的人使用,最好使用 TIMESTAMP。
DATE
DATE 用于表示 年月日,如果实际应用值需要保存 年月日 就可以使用 DATE。
TIME
TIME 用于表示 时分秒,如果实际应用值需要保存 时分秒 就可以使用 TIME。
YEAR
YEAR 用于表示 年份,YEAR 有 2 位(最好使用4位)和 4 位格式的年。 默认是4位。如果实际应用只保存年份,那么用 1 bytes 保存 YEAR 类型完全可以。不但能够节约存储空间,还能提高表的操作效率。
--------------------- 作者:盛装吾步 来源:CSDN 原文:https://blog.csdn.net/kangkangwanwan/article/details/78392724?utm_source=copy 版权声明:本文为博主原创文章,转载请附上博文链接!
相关推荐
由于Java中的`java.util.Date`类与MySQL数据库中的`DateTime`类型在格式上存在差异,因此在将时间数据写入数据库前,通常需要进行格式转换。 #### Java中的Date类型 在Java中,`java.util.Date`类是用于表示特定...
本文将深入探讨MySQL数据库中的时间类型以及它们在Java编程语言中相对应的数据类型,以及如何在两者之间进行转换。 MySQL数据库提供了多种时间类型来处理日期和时间数据: 1. **DATE**:这个类型仅存储日期,格式...
在Java编程语言中,`String`和`Date`类型的转换是常见的操作,特别是在处理日期和时间数据时。这里我们将深入探讨如何在`String`和`Date`之间进行转换,以及如何利用`DateFormat`和`SimpleDateFormat`类进行格式化。...
在 MySql 中,日期时间类型对应的是 DATE、TIME、DATETIME、TIMESTAMP 等类型。其中,DATE 类型用于存储日期,TIME 类型用于存储时间,DATETIME 类型用于存储日期和时间,TIMESTAMP 类型用于存储时间戳。 布尔类型 ...
值得注意的是,在Oracle中,如果varchar中的日期没有包含完整的时间部分(小时、分钟和秒),尝试转换为date类型时,会报错"ORA-01830: date format picture ends before converting entire input string"。...
### MySQL与Java数据类型对应详解 #### 概述 在进行数据库操作时,尤其是在使用Java进行MySQL数据库开发的过程中,正确地映射数据类型是至关重要的一步。本文将详细介绍MySQL中的各种数据类型及其在Java中的对应...
例如,使用 Java 的 `PreparedStatement` 设置参数时,可能需要将 `java.sql.Date` 转换为 `DATE` 类型,或者将 `String` 转换为 `VARCHAR`。 对比 Java 和 MySQL 数据类型时,开发者需要考虑存储需求、数据精度、...
Java与数据库交互时,通常使用PreparedStatement和ResultSet接口,它们将Java对象转换为数据库数据类型,反之亦然。例如,Java的String对应MySQL的VARCHAR或Oracle的VARCHAR2,Java的Integer对应MySQL的INT或Oracle...
Timestamp与Date互转 在Java编程中,Timestamp和Date是两个常用的时间类型,前者是数据库类型,而后者是Java.util包中的类。由于它们的类型不同,因此在实际开发中,经常需要将Timestamp和Date类型相互转换。下面将...
这个命令会将`birthday`列的数据类型转换为DATE,但不会自动将现有的字符串数据转换为日期。如果需要转换,你可能需要先手动处理数据。 4. **查询数据**: 在Java中,你可以使用ResultSet来获取Date类型的列。...
在IT领域,特别是软件开发与数据库管理中,Java与MySQL之间的数据类型映射是一个至关重要的知识点,它确保了数据在不同平台间能够准确无误地转换与存储。根据提供的文件信息,我们可以深入探讨这一主题,解析Java与...
然而,在读取MySQL中的日期时间值并尝试将其转换为.NET中的`System.DateTime`类型时,可能会遇到一个常见的错误:“unable to convert MySQL date/time value to System.DateTime”。 #### 二、错误原因分析 此...
这里我们将深入探讨MySQL与Oracle数据类型之间的对应关系,以及它们在Java编程语言中的映射。 1. MySQL数据类型: - BIGINT:MySQL中用于存储大整数,对应Oracle的NUMBER类型,可以表示非常大的数值。 - BIT:...
MySQL数据库在设计表结构时,选择正确的存储字段类型对于查询效率和存储空间的优化至关重要。以下是对标题和描述中提到的知识点的详细说明: 1. **整数类型**: - 整数类型包括TINYINT、SMALLINT、MEDIUMINT、INT...
7.4.7 类型转换运算符 7.4.8 控制流函数 7.4.9 数学函数 7.4.10 字符串函数 7.4.11 日期和时间函数 7.4.12 其他函数 7.4.13 与GROUP BY子句一起使用的函数 7.5 CREATE DATABASE ...
- **原因**:由于MySQL与Oracle数据库之间的语法差异较大,一次性导出后直接进行转换可能会导致较多问题。因此,通常会采取先分别导出表结构与数据的方式,再进行转换。 - **操作步骤**:首先仅导出表结构,对其...
- Date 和 Timestamp 类型用于日期和时间操作,与 Oracle9i 中的 DATE 和 TIMESTAMP 类型相匹配。 3. Schema 类型: - 在数据库设计中,Schema 类型定义了数据表的结构,包括列的数据类型。Schema 类型通常与...