mysql中的时间类型datetime,date,time,year,timestamp小知识点

1、datetime,date,time,year四个类型的值,可以手动输入,也可以调用函数获得值

  ① 手动输入,格式如下:

  datetime  "2016-6-22 14:09:30"

  date     "2016-6-22"

  time     "14:09:30"

  year     "2016"

  如上所述,手动输入的时候,直接可以输入如上格式的字符串,注意需要加引号。其中日期和时间中的分隔符(日期的短横线"-",时间的冒号":"),都可以用别的符号来代替,如“2016/6/22 14/9/30”

  ② 用函数获取值,可以直接使用now()函数来获取当前的时间

2、timestamp类型的值,可以不用输入,数据库会自动填充

示例代码:

/*创建表*/mysql> create table time_table(
    -> dt datetime,
    -> d date,
    -> t time,
    -> y year,
    -> ts timestamp
    -> );
Query OK, 0 rows affected (0.05 sec)
/*查看表结构*/
mysql> desc time_table;
+-------+-----------+------+-----+-------------------+-----------------------------+
| Field | Type      | Null | Key | Default           | Extra                       |
+-------+-----------+------+-----+-------------------+-----------------------------+
| dt    | datetime  | YES  |     | NULL              |                             |
| d     | date      | YES  |     | NULL              |                             |
| t     | time      | YES  |     | NULL              |                             |
| y     | year(4)   | YES  |     | NULL              |                             |
| ts    | timestamp | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+-------+-----------+------+-----+-------------------+-----------------------------+
5 rows in set (0.01 sec)
/*手动插入数据,ts数据为null*/
mysql> insert into time_table(dt,d,t,y,ts) values("2016-6-22 11:57:30","2016/6/22","11:57:30","2016",null);
Query OK, 1 row affected (0.01 sec)
/*手动插入数据,没有为ts提供数据*/
mysql> insert into time_table(dt,d,t,y) values("2016-6-22 11:57:30","2016/6/22","11:57:30","2016");
Query OK, 1 row affected (0.00 sec)
/*利用now()函数提供数据,为y字段手动输入数据,没有为ts提供数据*/
mysql> insert into time_table(dt,d,t,y) values(now(),now(),now(),‘2016‘);
Query OK, 1 row affected, 1 warning (0.00 sec)
/*手动插入数据,日期时间分隔符更换为“/”,依然没有为ts提供数据*/
mysql> insert into time_table(dt,d,t,y) values ("2016/6/22 14/10/30","2016/6/22","14:10:30","2016");
Query OK, 1 row affected (0.00 sec)
/*查看数据*/
mysql> select * from time_table;
+---------------------+------------+----------+------+---------------------+
| dt                  | d          | t        | y    | ts                  |
+---------------------+------------+----------+------+---------------------+
| 2016-06-22 11:57:30 | 2016-06-22 | 11:57:30 | 2016 | 2016-06-22 11:58:00 |
| 2016-06-22 11:57:30 | 2016-06-22 | 11:57:30 | 2016 | 2016-06-22 11:59:05 |
| 2016-06-22 13:58:54 | 2016-06-22 | 13:58:54 | 2016 | 2016-06-22 13:58:54 |
| 2016-06-22 14:10:30 | 2016-06-22 | 14:10:30 | 2016 | 2016-06-22 14:11:58 |
+---------------------+------------+----------+------+---------------------+
4 rows in set (0.00 sec)
时间: 2024-10-09 01:34:20

mysql中的时间类型datetime,date,time,year,timestamp小知识点的相关文章

MySql中的时间类型datetime,timestamp,date,year比较

MySQL日期类型.日期格式.存储空间.日期范围比较.日期类型        存储空间       日期格式                 日期范围------------ ---------   --------------------- -----------------------------------------datetime       8 bytes   YYYY-MM-DD HH:MM:SS   1000-01-01 00:00:00 ~ 9999-12-31 23:59:5

java中存储mysql数据库时间类型【date、time、datetime、timestamp】

在MySQL中对于时间的存储自己见表的时候都是设置的varchar类型的,感觉挺方便的. 昨天拿别人建好的表写代码,发现这张表中时间类型为datetime的,凭感觉试了一下不行,网上查了刚开始试了好几个都是不对的,一脸懵逼. -----------------------------------------------------------------------------------------------------------------------------------------

sqlserver中对时间类型的字段转换

获取当前日期利用 convert 来转换成我们需要的datetime格式. select CONVERT(varchar(12) , getdate(), 112 ) 20040912------------------------------------------------------------ select CONVERT(varchar(12) , getdate(), 102 ) 2004.09.12-----------------------------------------

1 Java中的时间类型

总结:sql中的时间转 util的时间直接赋值即可:反过来,必须先吧util下的时间转换成毫秒,再通过sql的构造器生成sql的时间格式. 1 Java中的时间类型 java.sql包下给出三个与数据库相关的日期时间类型,分别是: l Date:表示日期,只有年月日,没有时分秒.会丢失时间: l Time:表示时间,只有时分秒,没有年月日.会丢失日期: l Timestamp:表示时间戳,有年月日时分秒,以及毫秒. 这三个类都是java.util.Date的子类. 2 时间类型相互转换 把数据库

sql点滴42—mysql中的时间转换

UNIX时间戳转换为日期用函数: FROM_UNIXTIME() select FROM_UNIXTIME(1156219870); 日期转换为UNIX时间戳用函数: UNIX_TIMESTAMP() Select UNIX_TIMESTAMP(’2006-11-04 12:23:00′); 例:mysql查询当天的记录数: $sql=”select * from message Where DATE_FORMAT(FROM_UNIXTIME(chattime),’%Y-%m-%d’) = DA

mysql中获取时间的函数

今天做项目,有一个获取七天前日期的数据的一个需求.然后就百度mysql中关于时间的函数.收集了一些.现记录如下: 参考地址:http://www.w3school.com.cn/sql/sql_dates.asp -- 获取当前时间SELECT NOW() SELECT CURDATE()SELECT CURRENT_DATE()SELECT CURRENT_TIME()SELECT CURRENT_TIMESTAMP()SELECT CURTIME() -- DATE_SUB() 函数从日期减

MySQL中的string类型

转自:http://computer.uoh.edu.cn/mysql/1677.html MYSQL中STRING支持类型有:CHAR.VARCHAR.TINYTEXT.TEXT.MEDIUMTEXT.LONGTEXT.BINARY.VARBINARY.TINYBLOG.MEDIUMBLOG.BLOG.LONGBLOG.ENUM.SET类型. 这些类型对应长度(值域范围)如下: CHAR和VARCHAR——CHAR长度为0-255字符,实际保存时,不足部分填0保存.VARCHAR长度为0-65

「Flink」Flink中的时间类型

Flink中的时间类型和窗口是非常重要概念,是学习Flink必须要掌握的两个知识点. Flink中的时间类型 时间类型介绍 Flink流式处理中支持不同类型的时间.分为以下几种: 处理时间 Flink程序执行对应操作的系统时间.所有基于时间的操作(例如:时间窗口)都将使用运行相应operator的系统时间.例如:每个小时的处理时间窗口包括在系统时间范围内所有operator接收到的记录.例如:如果应用程序在09:15开始运行,则第一个滚动时间窗口将包括:09:15 – 10:00 之间的处理事件

MySQL 中 的 bit 类型,tinyint(1);

之前一直以为 mysql中没有 bit类型,需要使用 tinyint 来标识 bit.但是前端的实体类,不好控制,后来发现这些问题已经有了默认的统一设置,这样反而更好. 总结:MySQL中 使用布尔类型的字段,就用 tinyint(1),true 为1 false 为0 辅助参考文章:https://blog.csdn.net/dianjun2454/article/details/101950943 原文地址:https://www.cnblogs.com/del88/p/12538470.h