A. Mysql中DATETIME,DATE和TIMESTAMP类型的区别
MySQL日期与时间数据类型的区别请看下表:
每种日期和时间类型都有一个有效范围。如果插入的值超出相应范围,系统会报错并将相应的零值插入到数据库中,各个类型的零值请看上表。
YEAR类型用4位数表示年份。范围从1901~2155,插入超范围的值时系统报错并插入0000。
DATE类型用YYYY-MM-DD形式显示日期。范围从1000-01-01~9999-12-31插入超范围的值时系统报错并插入零值。此类型除了可接受YYYY-MM-DD和YYYYMMDD格式的输入外,还可以识别其它一些不严格的语法格式,例如YYYY/MM/DD、YYYY.MM.DD等其他标点符号作为间隔的形式日期值的输入。
TIME类型用HH:MM:SS形式显示时间。其中MM和SS的取值范围是0~59,HH的取值范围比较特别其取值范围是0~838,一般来讲小时数的范围是0~23,但是为了满足特殊情况的需要,MySQL扩大了TIME类型的范围,而且可以接受负数。TIME类型支持D HH:MM:S格式的时间表达字串,D表示天数,取值范围0~34。例如,输入30 21:15:26,系统会将小时部分按30*24+21转换为741:15:26。除了标准的输入方式HH:MM:SS外,此类型还可以接受一些非标准的输入方式,例如,输入12,系统会转换为00:00:12、输入1212,系统会转换为
00:12:12、输入121212,系统会转换为12:12:12等。
DATETIME类型用YYYY-MM-SS HH:MM:SS形式显示日期与时间。范围从1000-01-01 00:00:00~9999-12-31 23:59:59插入超范围的值尺搜时,系统报错并插入零值(0000-00-00 00:00:00)。此类型除了可接受YYYY-MM-SS HH:MM:SS格式的输入外,还可以识别YYYYMMSSHHMMSS形式的输入值。例如,输入20170117174856,陵正历系统会转换为
2017-01-17 17:48:56。
TIMESTAMP类型情况与DATETIME类型接近,但是它的取值范围要比DATETIME类型窄很多,范围从19700101080001~20380119111407(1970-01-01 08:00:01~2038-01-19 11:14:07)。**另外,TIMESTAMP类型还有一个特别之处,那就是它的值的时间部分是根据时区来显示的,例如在东八区插入的TIMESTAMP类型值2017-01-16 18:04:25,在东七区的时间部分会显示17:04:25,而在东九区则变为19:04:25,对于这一点我们要特别留意。**
我们在选择日期与时间数据类型时,请根据实际需求选择相应的类型,一般应选择刚好够用最好,这样可节省系统资源。例如只需要知道日期的选择DATE类型、需要同时知道日期与时间的就选择DATETIME类型、仅仅需要记录时间的则选择TIME类型等。清扮
B. mysql数据库里的日期用timestamp还是datetime好
Mysql中经常用来存储日期的数据类型有2种:Date、Datetime.
1.Date数据类型:用来存储没有时间的日期。Mysql获取和显示这个类型的格式为“YYYY-MM-DD”。支持的时间范围为“1000-00-00”到“9999-12-31”。
2.Datetime类型:存储既有日期又有时间的数据。存储和显示的格式为 “YYYY-MM-DD HH:MM:SS”。支持的时间范围是“1000-00-00 00:00:00”到“9999-12-31 23:59:59”。
C. SQL 中 date 与datetime的区别
区别1:
①date类型可用于需要一个日期值而不需要时间部分时;
②datetime类型:可用于需要同时包含日期和时间信息的值。
区别2:
①date:MySQL 以 'YYYY-MM-DD' 格式检索与显示date值;
②datetime:MySQL 以 'YYYY-MM-DD HH:mm:ss'格式检索与显示 DATETIME 类型。
(3)数据库datedatetime扩展阅读:
SQL:
结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。
结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。
1986年10月,美国国家标准协会对SQL进行规范后,以此作为关系式数据库管理系统的标准语言(ANSI X3. 135-1986),1987年得到国际标准组织的支持下成为国际标准。
不过各种通行的数据库系统在其实践过程中都对SQL规范作了某些编改和扩充。
所以,实际上不同数据库系统之间的SQL不能完全相互通用。
date:
(1)省略 年/月/日 显示系统日期并提示输入新的日期,不修改则可直接按回车键,要修改则直接输入新日期。
⑵当机器开始启动时,有自动处理文件(AUTOEXEC.BAT)被执行,则系统不提示输入系统日期。否则,提示输入新日期和时间。
DateTimePicker控件:
C/S设计中的DateTimePicker控件[1],有两种操作模式:
1.下拉式日历模式(缺省)—允许用户显示一种能够用来选择日期的下拉式日历。
2.时间格式模式—允许用户在日期显示中选择一个字段(例如:月、日、年等等),按下控件右边的上下箭头来设置它的值。
可以自定义控件的下拉式日历的外观。
使用各种颜色属性,例如CalendarBackColor,CalendarForeColor,CalendarTitleBackColor,CalendarTitleForeColor和CalendarTrailingForeColor,允许创建属于您自己的颜色方案。
可以使用键盘或鼠标对控件进行浏览。下拉式日历有两个按钮使您能够滚动月份数据出入视图。
D. Oracle数据类型date和SQL server 2005 的数据类型datetime有什么不同
不同之处在于
存储方式,按正常来说的话
sql是碰搏以
年、月、日来存储
但是oracle的话他得默认是以日、月、年来存储,所以oracle的date有转换函数来转换。
另外就拿巧是datetime
和
date他们分享
数据笑敏祥库的空间也是不同方式的。以sql和oracle自行的分享空间机制来说。额,我发现我啰嗦了。就讲这些好了
E. 数据库中DATETIME,DATE和TIMESTAMP类型 的区别
当你需要同时包含日期和时间信息的值时则使用DATETIME类型。MySQL以'YYYY-MM-DD HH:MM:SS'格式检索和显示DATETIME值。支持的范围为'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。(“支持”表示尽管先前的值可能工作,但没有保证)。
当你只需要日期值而不需要时间部分时应使用DATE类型。MySQL用'YYYY-MM-DD'格式检索和显示DATE值。支持的范围是'1000-01-01'到 '9999-12-31'。
TIMESTAMP列类型的属性不固定,取决于MySQL版本和服务器运行的SQL模式。这些属性将在本节后面描述。
可以使用任何常见格式指定DATETIME、DATE和TIMESTAMP值:
'YYYY-MM-DD HH:MM:SS'或'YY-MM-DD HH:MM:SS'格式的字符串。允许“不严格”语法:任何标点符都可以用做日期部分或时间部分之间的间割符。例如,'98-12-31 11:30:45'、'98.12.31 11+30+45'、'98/12/31 11*30*45'和'98@12@31 11^30^45'是等价的。
'YYYY-MM-DD'或'YY-MM-DD'格式的字符串。这里也允许使用“不严格的”语法。例如,'98-12-31'、'98.12.31'、'98/12/31'和'98@12@31'是等价的。
'YYYYMMDDHHMMSS'或'YYMMDDHHMMSS'格式的没有间割符的字符渣猜橡串,假定字符串对于日期类型是有意义的。例如,'19970523091528'和'970523091528'被解释为'1997-05-23 09:15:28',但'971122129015'是不合法的(它有一个没有意义的分钟部分),将变为'0000-00-00 00:00:00'。
'YYYYMMDD'或'YYMMDD'格式的没有间割符的字符串,假定字符串对于日期类型是有意义的。例如,'19970523'和'970523'被解释为 '1997-05-23',但'971332'是不合法的(它有一个没有意兆岩义的月和日部分),将变为如旁'0000-00-00'。
F. 数据库中 日期的几种表示方法
Mysql中经常用来存储日期的数据类型有三种:Date、Datetime、Timestamp。
【1】Date数据类型:用来存储没有时间的日期。Mysql获取和显示这个类型的格式为“YYYY-MM-DD”。支持的时间范围为“1000-00-00”到“9999-12-31”。
【2】Datetime类型:存储既有日期又有时间的数据。存储和显示的格式为 “YYYY-MM-DD HH:MM:SS”。支持的时间范围是“1000-00-00 00:00:00”到“9999-12-31 23:59:59”。
【3】Timestamp类型:也是存储既有日期又有时间的数据。存储和显示的格式跟Datetime一样。支持的时间范围是“1970-01-01 00:00:01”到“2038-01-19 03:14:07”。
(6)数据库datedatetime扩展阅读
切记不要用字符串存储日期
这种存储日期的方式的优点还是有的,就是简单直白,容易上手。但是,这是不正确的做法,主要会有下面两个问题:
1、字符串占用的空间更大。
2、字符串存储的日期比较效率比较低(逐个字符进行比对),无法用日期相关的 API 进行计算和比较。
DateTime 类型没有时区信息的
DateTime 类型是没有时区信息的(时区无关),DateTime 类型保存的时间都是当前会话所设置的时区对应的时间。
当你的时区更换之后,比如你的服务器更换地址或者更换客户端连接时区设置的话,就会导致你从数据库中读出的时间错误。不要小看这个问题,很多系统就是因为这个问题闹出了很多笑话。
Timestamp 和时区有关。Timestamp 类型字段的值会随着服务器时区的变化而变化,自动换算成相应的时间,说简单点就是在不同时区,查询到同一个条记录此字段的值会不一样。
G. 数据库datetime是什么类型
Mysql中经常用来存储日期的数据类型有三种:Date、Datetime、Timestamp。
Date数据类型:用来存储没有时间的日期。Mysql获取和显示这个类型的格式为“YYYY-MM-DD”。支持的时间范围为“1000-00-00”到“9999-12-31”。
Datetime类型:存储既有日期又有时间的数据。存储和显示的格式为
“YYYY-MM-DD
HH:MM:SS”。支持的时备此间范围是“1000-00-00
00:00:00”到“9999-12-31
23:59:59”。
Timestamp类型:也是存储既有日期又有时间的数据。亏数存储和显示的格式跟Datetime一销滚首样。支持的时间范围是“1970-01-01
00:00:01”到“2038-01-19
03:14:07”。
所有不符合上面所述格式的数据都会被转换为相应类型的0值。(0000-00-00或者0000-00-00
00:00:00)
H. 数据库datetime是什么类型
datetime类型:可用于需要同时包含日期和时间信息的值。
datetime:MySQL 以 'YYYY-MM-DD HH:mm:ss'格式检索与显示 DATETIME 类型。
DateTime日期和时间部分,可以表示1753年1月1日00:00:00.000到9999年12月31日23:59:59.997之间的日期范围,精确到3.33ms,它需要8字节的存储空间,其中前4字节用于存储1900年1月1日之前或之后的天数。该值分为正数和负数,正数表示此日期之后的天数,负数表示此日期之前的天数;最后4个字节用于存储从零开始指定的时间之后的毫秒数。
(8)数据库datedatetime扩展阅读
在MySQL中创建表时,
通过类型介绍,可以方便地选择正确的数据类型。然而,选择datetime或timestamp戳可能有点困难。这两种日期时间类型各有优点:datetime的日期范围比较大;timestamp的存储空间比较小,只有日期时间的一半。
此外,timestamp类型的列还有一个特性:默认情况下,在插入和更新数据时,timestamp列将自动填充/更新为当前的(CURRENT_TIMESTAMP)的意思是如果你不在乎,MySQL会帮你处理的。
I. 数据库表中字段类型有哪些
数据库表中字段类型有二进制数据类型、字符数据类型、数字数据类型 等其中类型。具体类型如下所示:
1、二进制数据类型
Binary、Varbinary、Image
2、字符数据类型
Char,Varchar和 Text
3、Unicode数据类型
包括Nchar,Nvarchar和Ntext
4、日期和时间数据类型
包括Datetime, Smalldatetime, Date, TimeStamp
5、数字数据类型
数字数据类型包括正数和负数、小数和整数
6、货币数据类型
表示正的或者负的货币数量。
7、特殊数据类型
特殊的数据类型有3种,即Timestamp、Bit 和 Uniqueidentifier。
J. Mysql中的DATE和DATETIME有什么区别
1、显示格式的区别
Date显示格式:YYYY-MM-DD;裂缺DateTime显示格式:YYYY-MM-DD HH:mm:ss。
2、显示范围的区别
Date显示范围是1601-01-01 到 9999-01-01;DateTime显示范围是1601-01-01 00:00:00 到 9999-12-31 23:59:59。
3、应用场景的区别
当业务需求中只需要精确到天时,可以用Date这个时间格式,当业务需求中需要精确到秒时,洞腊可以用DateTime这个时间格式。
4、后台取肆颤辩值的区别
Date后台取值:@JSONField(format=”yyyy-MM-dd”);DateTime后台取值:@JSONField(format=”yyyy-MM-dd HH:mm:ss:SSS”)(这里只会精确到秒)。