首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【小家SQL】MySql数据类型---日期时间类型的使用(含datetime和timestamp的区别) 0000-00-00 00:00:00问题解释

3、Date date用于存储日期,没有时间部分,存储时需要三个字节。 MySQL中是以YYYY-MM-DD的形式显示date类型的值。...5、timestamp timestamp类型使用4个字节来表示日期和时间。 timestamp类型与dateTime类型显示的格式是一样的。...datetime和timestamp的比较 1、timestamp相对于datetime的不同之处: (1.1),使用current_timestamp来输入系统当前日期与时间 (1.2),输入null...如果插入时间的比这个大,将会数据库插入0000-00-00 00:00:00。所以需要的时间范围比较大,还是选择dateTime类型比较安全。 MySQL中如何表示当前时间?...MySQL中int(M)和tinyint(M)数值类型中M值的意义 附:mysql中的date类型直接比较大小是按照字符串比较还是时间戳 Mysql在比较两种不同数据类型时,第一步是将他们转化为同一种类型

7.3K20

第四章《MySQL的数据类型和运算符》

DECIMAL实际上是以字符串形式存放的,在对精度要求比较高的时候(如货币、科学数据等)使用DECIMAL类型比较好; (4)浮点数相对于定点数的有点是在长度一定的情况下,浮点数能够表示更大的数据范围...(取值范围更大),他的缺点是会引起精度的问题 3.日期时间类型; (1)MySQL有多重表示日期的数据类型,比如:当只记录年份信息时,可以使用YEAR类型,而没有必要使用DATE类型; (2...’ 格式表示的 TIME ,例如 ‘101112’ 被理解为 10:11:12 ,但如果插入不合法的时间,如 ‘109712’ ,则被存储为 00:00:00 (3) 格式:以 ‘D HH:MM:SS...,但是有time的就必须用字符串格式 日期和时间类型,如果插入的数据时纯数字格式,可以不用引号,如果数据中有连字符,必须用引号; 字符串类型: (1)字符串类型用来存储字符串的数据,还可以存储比如图片和声音的二进制数据...2.2日期和时间类型; (1)如果只需要记录年末,用YEAR类型:如果只需要记录时间,用TIME类型; (2)如果同时记录日期和时间可以使用DATETIME或者是TIMESTAMP这两种类型; TIMESTAMP

86520
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    第四章《MySQL的数据类型和运算符》

    (M,D)来表示,其中M是精度,表示总共的位数(不算点号),D是标度,表示小数的位数 (3)DECIMAL实际上是以字符串形式存放的,在对精度要求比较高的时候(如货币、科学数据等)使用DECIMAL类型比较好...3.日期时间类型; (1)MySQL有多重表示日期的数据类型,比如:当只记录年份信息时,可以使用YEAR类型,而没有必要使用DATE类型; (2)每一个类型都有合法的取值范围,当数据是不合法的值时,...是世界标准时间,存储时会对当前时区进行转换,检索时再转换回当前时区 单纯日期类的数据类型的数据插入时可以不用字符串格式,但是有time的就必须用字符串格式 日期和时间类型,如果插入的数据时纯数字格式...,用于定义货币等对精度要求高的数据,在数据迁移中,FLOAT(M,N)是非标准的SQL定义,所以数据迁移时可能会出现问题,最好不要用; (5)另外两种浮点数在进行运算的时候也容易出问题,所以如果进行数值的比较最好用定点数...2.2日期和时间类型; (1)如果只需要记录年末,用YEAR类型:如果只需要记录时间,用TIME类型; (2)如果同时记录日期和时间可以使用DATETIME或者是TIMESTAMP这两种类型; TIMESTAMP

    1K10

    MySQL 中的日期时间类型

    日期时间类型中包含以下几种数据类型: DATE TIME DATETIME TIMESTAMP YEAR 各类型都有具体的取值范围,超出或非法的其他值时,MySQL 会回退到 0。...MySQL 按标准格式 YYYY-MM-DD hh:mm:ss[.fraction] 输出日期时间,但设置或进行日期时间相关的比较时却支持灵活的多种格式,会自动解析。...时区的设置也可以是以连接为单位,这样来自不同时区的请求可得到不同的时间。 TIMESTAMP 和 DATETIME 都可包含至多 6 位的小数来表示时间中毫秒(microseconds)的部分。...关于日期时间需要注意的点: 因为 MySQL 支持比较宽松的格式来设置日期时间,所以理论上你可以用你想用的值来做为数字之间的分界符,但使用时需要关注其解析的原理。...日期时间的自动初始化及更新 TIMESTAMP 和 DATETIME 还支持自动初始化(auto-initialized)和更新到当前时间(auto-updated)。

    6.8K20

    MySQL 中 datetime 和 timestamp 的区别与选择

    MySQL 中常用的两种时间储存类型分别是datetime和 timestamp。如何在它们之间选择是建表时必要的考虑。下面就谈谈他们的区别和怎么选择。...对于某些时间的计算,如果是以 datetime 的形式会比较困难,假如我是 1994-1-20 06:06:06 出生,现在的时间是 2016-10-1 20:04:50 ,那么要计算我活了多少秒钟用...1.3 时区 timestamp 只占 4 个字节,而且是以utc的格式储存, 它会自动检索当前时区并进行转换。 datetime以 8 个字节储存,不会进行时区的检索....如果是想要使用自动插入时间或者自动更新时间功能的,可以使用timestamp。...如果只是想表示年、日期、时间的还可以使用 year、 date、 time,它们分别占据 1、3、3 字节,而datetime就是它们的集合。

    20.1K30

    MySQL数据库应用总结(八)—MySQL数据库的数据类型和运算符(下)

    但由于浮点数容易产生误差,因此,如果对精度要求比较高则用decimal来存储。 Decimal在MySQL中是以字符串存储的,用于定义货币等对精度要求比较高的数据。...3.日期与时间类型 仅仅记录年份用year即可,记录时间time即可,都记录timestamp和datetime都可以,但如果存储较大日期用相对范围大的datetime类型。...但是如果插入记录同时需要记录插入记录时的时间,那么使用timestamp是最方便的。 4.char与varchar类型 char存储固定长度字符,varchar存储可变长度字符。...因为InnoDB数据表的存储区格式不分固定长度和可变长度,由于varchar按实际长度存储节省空间,所以对磁盘I/O和独具存储总量说比较好。...Enum和set的值是以字符串的形式出现的,但在内部,MySQL以数值的形式存储它们。 6.blob与text类型 blob是二进制字符串,text是非二进制字符串,两者均可存放大量的信息。

    1.9K100

    【重学 MySQL】五十七、日期与时间类型

    【重学 MySQL】五十七、日期与时间类型 在MySQL中,日期与时间类型用于存储和操作日期和时间数据。这些类型根据所需存储的信息的精确度和范围而有所不同。...插入格式: 可以使用带有冒号的字符串,比如’D HH:MM:SS'、‘HH:MM:SS’、‘HH:MM’、‘D HH:MM’、'D HH’或’SS’格式,都能被正确地插入 TIME类型的字段中。...可以使用CURRENT_DATE()或NOW()函数插入当前系统日期。 DATETIME类型 用途:用于存储日期和时间,精确到秒。 格式:YYYY-MM-DD HH:MM:SS。...TIMESTAMP和DATETIME的区别: TIMESTAMP存储空间比较小,表示的日期时间范围也比较小 底层存储方式不同,TIMESTAMP底层存储的是毫秒值,距离1970-1-1 0:0:...因为这个数据类型包括了完整的日期和时间信息,取值范围也最大,使用起来比较方便。毕竟,如果日期时间信息分散在好几个字段,很不容易记,而且查询的时候,SQL 语句也会更加复杂。

    15010

    Python批量处理Excel数据后,导入SQL Server

    Windows下载安装配置SQL Server、SSMS,使用Python连接读写数据,我们已经安装和配置好了sqlserver,也成功测试了如何利用Python连接、读写数据到数据库。...首先我们要判断空值,然后设置日期天数计算起始时间,利用datetime模块的timedelta函数将时间天数转变成时间差,然后直接与起始日期进行运算即可得出其代表的日期。...offset 这里比较难想的就是天数计算起始日期,不过想明白后,其实也好算,从excel中我们可以直接将日期天数转成短日期,等式已经有了,只有一个未知数x,我们只需列一个一元一次方程即可解出未知数x...” 最开始我想的是使用正则匹配,将年月日都在取出来,然后将英文月份转变成数字,后来发现日期里可以直接识别英文的月份。...” 可以写一个字典,来存储数据库表和对应Excel数据名称,然后一个个存储到对应的数据库表中即可(或者提前处理好数据后,再合并)。

    4.7K30

    MySQL中的数据类型_js中的数据类型

    MySQL有多种表示日期和时间的数据类型,不同的版本可能有所差异,MySQL8.0版本支持的日期和时间类型主要有:YEAR类型、TIME类型、DATE类型、DATETIME类型和TIMESTAMP类型。...使用 CURRENT_DATE() 或者 NOW() 函数,会插入当前系统的日期。 举例: 创建数据表,表中只包含一个DATE类型的字段f1。...DATETIME类型在所有的日期时间类型中占用的存储空间最大,总共需要 8 个字节的存储空间。...使用函数 CURRENT_TIMESTAMP() 和 NOW() ,可以向DATETIME类型的字段插入系统的当前日期和时间。 举例: #创建数据表,表中包含一个DATETIME类型的字段dt。...因为这个数据类型包括了完整的日期和时间信息,取值范围也最大,使用起来比较方便。毕竟,如果日期时间信息分散在好几个字段,很不容易记,而且查询的时候,SQL 语句也会更加复杂。

    6.7K20

    MySQL库表设计小技巧

    前言: 在我们项目开发中,数据库及表的设计可以说是非常重要,我遇到过很多库表设计比较杂乱的项目,像表名、字段名命名混乱、字段类型设计混乱等等,此类数据库后续极难维护与拓展。...timestamp翻译为汉语即"时间戳",它是当前时间到 Unix元年(1970 年 1 月 1 日 0 时 0 分 0 秒)的秒数,占用4个字节,而且是以UTC的格式储存,它会自动检索当前时区并进行转换...记录本行数据的插入时间和修改时间建议使用timestamp。 和时区相关的时间字段选用timestamp。...如果只是想表示年、日期、时间的还可以使用 year、 date、 time,它们分别占据 1、3、3 字节,而datetime就是它们的集合。...如果timestamp字段经常用于查询,我们还可以使用MySQL内置的函数FROM_UNIXTIME()、UNIX_TIMESTAMP(),将日期和时间戳数字来回转换,转换后可以用 INT UNSIGNED

    2.8K31

    Java 的日期 API 真烂

    也就是说,java.sql.Date 是 SQL 中的单纯的日期类型,哪会有时分秒啊?我觉得它根本不应该设计成 java.util.Date 的子类。...如果你把 java.sql.Date 通过 JDBC 插入数据库,你会发现时分秒都丢失了,因此如果你同时需要日期和时间,你应该使用 Timestamp,它也是 java.util.Date 的子类。...尝试 Joda 吧 最开始的时候,Date 既要承载日期信息,又要做日期之间的转换,还要做不同日期格式的显示,职责较繁杂,从 JDK 1.1 开始,这三项职责分开了: 使用 Calendar 类实现日期和时间字段之间转换...; 使用 DateFormat 类来格式化和分析日期字符串; 而 Date 只用来承载日期和时间信息。...再如,如果要给上述时间增加 3 天再按格式输出的话,使用 Joda 更加便捷: System.out.println(dateTime.plusDays(3).toString("E MM/dd/yyyy

    63310

    SQL笔记(3)——MySQL数据类型

    例如,可以将日期值直接作为字符串插入,也可以使用MySQL内置的DATE函数进行数据转换和格式化。 DATE类型常用于需要存储和处理日期时间数据的应用程序中,例如日程安排、任务调度等等。...与DATETIME类型不同,**DATE类型不包含时间信息,只表示日期部分。**因此,在需要同时表示日期和时间信息的场景下,通常需要使用DATETIME类型。...需要注意的是,虽然TIME类型可以表示超过24小时的时间段,但不能直接用于计算日期相关的操作。若需要处理日期、时间或者日期时间相关的数据,可以使用其他类型如DATETIME或TIMESTAMP。...需要注意的是,当YEAR类型用于存储日期时,其只包含年份信息,不包含月份和日期信息。如果需要同时存储年、月、日的完整日期信息,则应使用DATE或DATETIME类型。...在MySQL中,可以使用DATETIME类型来存储日期和时间信息,并进行相应的计算和比较。与DATE和TIME类型不同,DATETIME类型同时包含日期和时间信息,可以表示精度更高的时间点或时间段。

    1.8K40

    smalldatetime mysql_SQLSERVER中datetime和smalldatetime类型分析说明「建议收藏」

    大家好,又见面了,我是你们的朋友全栈君。 datetime 和 smalldatetime 代表日期和一天内的时间的日期和时间数据类型。...smalldatetime 数据类型存储日期和每天的时间,但精确度低于 datetime 。 SQL Server 将 smalldatetime 的值存储为两个 2 字节的整数。...DATEDIFF :该函数对两个时间变量对指定部分进行比较计算。此函数不考虑比指定日期部分更高的粒度级别,它只考虑更低级别的部分。对时间的比较应尽量使用本函数。...您可能感兴趣的文章:sql server中datetime字段去除时间的语句 sql语句中如何将datetime格式的日期转换为yy-mm-dd格式 使用 MySQL Date/Time 类型 sql...DATE_FORMAT日期函数 MySQL时间字段究竟使用INT还是DateTime的说明 Sql中将datetime转换成字符串的方法(CONVERT) MySql用DATE_FORMAT截取DateTime

    2.4K10

    MySQL数据库,从入门到精通:第十二篇——MySQL数据类型详解

    本文将深入剖析MySQL的各种数据类型,包括整数类型、浮点类型、日期与时间类型、文本字符串类型、JSON类型等等,同时针对开发中的使用场景和技巧进行探讨,帮助读者更好地掌握MySQL中数据处理的技巧和方法...在日期与时间类型方面,本文详细介绍了MySQL中的五种时间类型,包括DATE、TIME、DATETIME、TIMESTAMP以及YEAR类型,并对开发中的使用场景和技巧做了详细探讨。...使用CURRENT_DATE()或者NOW()函数,会插入当前系统的日期。 举例: 创建数据表,表中只包含一个DATE类型的字段f 1 。...使用函数CURRENT_TIMESTAMP()和NOW(),可以向DATETIME类型的字段插入系统的当前日期和时间。 举例: 创建数据表,表中包含一个DATETIME类型的字段dt。...因为这个数据类型包括了完整的日期和时间信息,取值范围也最大,使用起来比较方便。毕竟,如果日期时间信息分散在 好几个字段,很不容易记,而且查询的时候,SQL 语句也会更加复杂。

    59820

    《MySQL入门很轻松》第4章:数据表中能存放的数据类型

    如果改变M而固定D,则其取值范围将随M的变大而变 1.4 日期和时间类型 MySQL 中,表示时间值的日期和时间类型为DATETIME、DATA、TIMESTAMP,TIME和YEAR。...在数据迁移中,FLOAT(M,D)是非标准SQL定义,数据库迁移可能会出现问题,最好不要这样使用。另外,两个浮点数进行减法和比较运算时也容易出问题,因此在进行计算的时候,一定要小心。...日期和时间类型 MySQL对于不同种类的日期和时间有很多的数据类型,比如 YEAR和 TIME,如果只需要记录年份,则使用YEAR类型即可;如果只记录时间,只需使用TIME类型。...如果同时需要记录日期和时间,则可以使用 TIMESTAMP 或者DATETIME 类型。...因此当需要在插入记录的同时插入当前时间时,使用 TIMESTAMP是方便的,另外 TIMESTAMP在空间上比 DATETIME 更有效。

    2K00

    数据库之数据类型详解

    (M,N) 来表示,其中 M 是精度,表示总共的位数,N 是标度,表示小数的位数,如:3.145,用M/N来表示就是4,3; DECIMAL 实际是以字符串形式存放的,在对精度要求比较高的时候(如货币、...3、日期和时间类型 表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。...MySQL中默认的日期格式是yyyy-mm-dd; 用MySQL的内建类型DATE、TIME、DATETIME来存储时间,而不是使用字符串; 当数据格式为TIMESTAMP和DATETIME时,可以用CURRENT_TIMESTAMP...:12 ,但如果插入不合法的时间,如 '109712' ,则被存储为 00:00:00 格式2:以 'D HH:MM:SS' 字符串格式表示的 TIME ,其中 D 表示日,可以取 0 ~ 34 之间的值...上述插入的数据,基本可以对应SQL语句来看出来其规律,唯一需要解释的,应该就是“82:02:00”,对应的插入值是“3 10:2”,最中写入表中的时间是3天(3 X 24)+10小时,零2分钟,也就是82

    4.3K30

    数据库应用技术系列第一讲 创建数据库和表

    日期时间类型 日期时间类型数据用于存储日期和时间信息,日期时间数据类型包括date、time、datetime2和datetimeoffset。...例如,1~3ms的值都表示为0ms,4~6ms的值都表示为4ms。 用户给出datetime类型数据值时,日期部分和时间部分分别给出。...(3)date:可以表示从公元元年1月1日到9999年12月31日的日期,date类型只存储日期数据,不存储时间数据,存储长度为3字节,表示形式与datetime数据类型的日期部分相同。...(4)time:只存储时间数据,表示格式为“hh:mm:ss[.nnnnnnn]”。hh表示小时,范围为0~23。mm表示分钟,范围为0~59。 (5)datetime2:也用于存储日期和时间信息。...(6)datetimeoffset:也用于存储日期和时间信息,取值范围与datetime2类型相同。

    1.5K20

    告诉你 38 个 MySQL 数据库的小技巧!

    09 TIMESTAMP 与 DATATIME 两者的区别 TIMESTAMP 与 DATETIME 除了存储字节和支持的范围不同外,还有一个最大的区别就是:DATETIME 在存储日期数据时,按实际输入的格式存储...,即输入什么就存储什么,与时区无关; 而 TIMESTAMP 值的存储是以 UTC (世界标准时间)格式保存的,存储时对当前时区进行转换, 检索时再转换回当前时区。...如果进行数值比较,最好使用 DECIMAL 类型。 日期与时间类型 MySQL 对于不同种类的日期和时间有很多的数据类型,比如 YEAR 和 TIME。...如果只需要记录年份,则使用 YEAR 类型即可;如果只记录时间,只须使用 TIME 类型。 如果同时需要记录日期和时间,则可以使用 TIMESTAMP 或者 DATETIME 类型。...因此当需要插入记录同时插入当前时间时,使用 TIMESTAMP 是方便的,另外 TIMESTAMP 在空间上比 DATETIME 更有效。

    2.6K40

    告诉你38个MySQL数据库的小技巧!

    9、TIMESTAMP与DATATIME两者的区别 TIMESTAMP与DATETIME除了存储字节和支持的范围不同外,还有一个最大的区别就是: DATETIME在存储日期数据时,按实际输入的格式存储,...即输入什么就存储什么,与时区无关; 而TIMESTAMP值的存储是以UTC(世界标准时间)格式保存的,存储时对当前时区进行转换, 检索时再转换回当前时区。...如果进行数值比较,最好使用DECIMAL类型。 日期与时间类型 MySQL对于不同种类的日期和时间有很多的数据类型,比如YEAR和TIME。...如果只需要 记录年份,则使用YEAR类型即可;如果只记录时间,只须使用TIME类型。如果同时需要记录日期和时间,则可以使用TIMESTAMP或者DATETIME类型。...因此当需要 插入记录同时插入当前时间时,使用TIMESTAMP是方便的,另外TIMESTAMP在空间上比 DATETIME更有效。

    2.6K10
    领券