MySql要怎么插入DateTime型的数据?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySql要怎么插入DateTime型的数据?相关的知识,希望对你有一定的参考价值。

insert into table (name,date,value) values ('魂牵梦萦',to_date('2009-06-08 23:53:17','YYYY-DD-MM HH:MI:SS'),'朝秦暮楚';

我是想要达到上面这条语句的效果。
我的date是DateTime类型的,老是插不进去,这里对日期值的控制要怎么做啊?高手们帮帮忙,我已经搞了好几个小时了都没弄好。
我晕,严重失望,思想严重复杂化。values后面没有反括号,也没有to_date这个用法,这是Oracle里面的。直接插入就可以了
insert into artide (article_name,user_id,menu_id,creat_date,artide_value) values ('朝秦暮楚',1,3,'2009-06-09 00:24:08','<p>魂牵梦萦</p>')
就这样就行了。郁闷。

mysql插入Date Time 型数据就是要获取DateTime型的数据。

获取Date Time型数据的编程例子:

mysql> select now();

| now()               | 

| 2008-08-08 22:20:46 |

除了 now() 函数能获得当前的日期时间外,MySQL 中还有下面的函数:

current_timestamp() 

,current_timestamp 

,localtime() 

,localtime 

,localtimestamp    -- (v4.0.6) 

,localtimestamp() -- (v4.0.6)

这些日期时间函数,都等同于 now()。鉴于 now() 函数简短易记,建议总是使用 now() 来替代上面列出的函数。

扩展资料:

MySql的时间日期函数(Date Time)的种类:

1、函数ADDDATE(date,INTERVAL expr type ) ADDDATE(expr,days )

函数使用说明: 当被第二个参数的 INTERVAL 格式激活后, ADDDATE() 就是 DATE_ADD() 的同义词。相关函数 SUBDATE() 则是 DATE_SUB() 的同义词。对于 INTERVAL 参数上的信息 ,请参见关于 DATE_ADD() 的论述。

2、函数 ADDTIME(expr,expr2 )

函数使用说明: ADDTIME() 将 expr2 添加至 expr 然后返回结果。 expr 是一个时间或时间日期表达式,而 expr2 是一个时间表达式。

3、函数 CONVERT_TZ(dt,from_tz,to_tz )

函数使用说明: CONVERT_TZ() 将时间日期值 dt 从 from_tz 给出的时区转到 to_tz 给出的时区,然后返回结果值。关于可能指定的时区的详细论述,若自变量无效,则这个函数会返回 NULL

参考资料:百度百科 MySQL函数

参考技术A

Date date=new Date();     //先获取一个Date对象

DateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");   //创建一个格式化日期对象

String punchTime = simpleDateFormat.format(date);//格式化后的时间

或者:

Timestamp timeStamp = new Timestamp(date.getTime()); // 让日期时间转换为数据库中的timestamp类型

扩展资料:

关于上述两种方法的区别

DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。 日期/时间格式化子类(如 SimpleDateFormat)允许进行格式化(也就是日期 -> 文本)、解析(文本-> 日期)和标准化。

将日期表示为 Date 对象,或者表示为从 GMT(格林尼治标准时间)1970 年 1 月 1 日 00:00:00 这一刻开始的毫秒数。

Timestamp 允许 JDBC API 将该类标识为 SQL TIMESTAMP 值。它通过允许小数秒到纳秒级精度的规范来添加保存 SQLTIMESTAMP 小数秒值的能力。Timestamp 也提供支持时间戳值的 JDBC 转义语法的格式化和解析操作的能力。 

参考技术B

Date date=new Date();     //先获取一个Date对象

    DateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");   //创建一个格式化日期对象

    String punchTime = simpleDateFormat.format(date);//格式化后的时间

    或者:

    Timestamp timeStamp = new Timestamp(date.getTime()); // 让日期时间转换为数据库中的timestamp类型

    区别:

    DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。 日期/时间格式化子类(如 SimpleDateFormat)允许进行格式化(也就是日期 -> 文本)、解析(文本-> 日期)和标准化。将日期表示为 Date 对象,或者表示为从 GMT(格林尼治标准时间)1970 年 1 月 1 日 00:00:00 这一刻开始的毫秒数。

    Timestamp 允许 JDBC API 将该类标识为 SQL TIMESTAMP 值。它通过允许小数秒到纳秒级精度的规范来添加保存 SQLTIMESTAMP 小数秒值的能力。Timestamp 也提供支持时间戳值的 JDBC 转义语法的格式化和解析操作的能力。 

    简言之,DateFormat+SimpleDateFormat可以将日期/时间格式化成自己想要的格式

    如new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"),则simpleDateFormat.format(date)的结果为2018-01-25 15:35:57 

    若new SimpleDateFormat("yyyy年MM月dd 日HH时mm分ss秒") 则simpleDateFormat.format(date)的结果为2018年01月25日 15时35分57秒 

    而Timestamp 类,new Timestamp(date.getTime()) 只能得2018-01-25 15:35:57 这种格式

参考技术C 你的是什么版本的啊,我试过了 我的是5.0版本的mysql
insert into rrr (bbb) values ('2009-9-9 23:22:11') 在mysql里面绝对好用啊 其中bbb为datetime型的

用下面的试一下 表名不能用table吧 它应该是保留词
insert into 替换成你的表名 (name,date,value) values ('魂牵梦萦','2009-06-08 23:53:17','朝秦暮楚');本回答被提问者和网友采纳
参考技术D DateTime 就是ymd his 这样的 你要在添加之前转换过来你要在执行添加之前把它转换成datetime格式的 比如$time=date('Y-m-d H:i:s'); 这就是当前时间,然后你执行insert的时候把$time放到第二个里面就行了

mysql中时间dateTime怎么插入?

1.MyBatis3做数据持久层,在字段中有Date和DateTime类型,在插入数据时只要将实体的属性设置成Timestamp就会对应mysql的DateTime类型,Date会对应mysql的Date类型。

2.在MyBatis映射文件中要表明映射类型。

<result column="modified_date" jdbcType="TIMESTAMP" property="modifiedDate" javaType="java.sql.Timestamp" />  

<result column="create_date" jdbcType="DATE" property="createDate" javaType="java.util.Date" />  

<result column="date" jdbcType="TIMESTAMP" property="date" javaType="java.util.Date" />

3.在插入语句的那个mybatis XML文件在使用字段的时候也要标明类型,注意得用#,别用$

#modifiedDate, jdbcType=TIMESTAMP

#createDate, jdbcType=DATE。

参考技术A 1.MyBatis3做数据持久层,在字段中有Date和DateTime类型,在插入数据时只要将实体的属性设置成Timestamp就会对应mysql的DateTime类型,Date会对应mysql的Date类型。
2.在MyBatis映射文件中要表明映射类型。
<result
column="modified_date"
jdbcType="TIMESTAMP"
property="modifiedDate"
javaType="java.sql.Timestamp"
/>

<result
column="create_date"
jdbcType="DATE"
property="createDate"
javaType="java.util.Date"
/>

<result
column="date"
jdbcType="TIMESTAMP"
property="date"
javaType="java.util.Date"
/>
3.在插入语句的那个mybatis
XML文件在使用字段的时候也要标明类型,注意得用#,别用$
#modifiedDate,
jdbcType=TIMESTAMP
#createDate,
jdbcType=DATE。
参考技术B 1.MyBatis3做数据持久层,在字段中有Date和DateTime类型,在插入数据时只要将实体的属性设置成Timestamp就会对应mysql的DateTime类型,Date会对应mysql的Date类型。
2.在MyBatis映射文件中要表明映射类型。
<result
column="modified_date"
jdbcType="TIMESTAMP"
property="modifiedDate"
javaType="java.sql.Timestamp"
/>

<result
column="create_date"
jdbcType="DATE"
property="createDate"
javaType="java.util.Date"
/>

<result
column="date"
jdbcType="TIMESTAMP"
property="date"
javaType="java.util.Date"
/>
3.在插入语句的那个mybatis
XML文件在使用字段的时候也要标明类型,注意得用#,别用$
#modifiedDate,
jdbcType=TIMESTAMP
#createDate,
jdbcType=DATE。
参考技术C 1.MyBatis3做
数据持久层
,在字段中有Date和DateTime类型,在插入数据时只要将实体的属性设置成Timestamp就会对应mysql的DateTime类型,Date会对应mysql的Date类型。
2.在MyBatis映射文件中要表明映射类型。
<result
column="modified_date"
jdbcType="TIMESTAMP"
property="modifiedDate"
javaType="java.sql.Timestamp"
/>

<result
column="create_date"
jdbcType="DATE"
property="createDate"
javaType="java.util.Date"
/>

<result
column="date"
jdbcType="TIMESTAMP"
property="date"
javaType="java.util.Date"
/>
3.在插入语句的那个mybatis
XML文件
在使用字段的时候也要标明类型,注意得用#,别用$
#modifiedDate,
jdbcType=TIMESTAMP
#createDate,
jdbcType=DATE。

以上是关于MySql要怎么插入DateTime型的数据?的主要内容,如果未能解决你的问题,请参考以下文章

mysql中时间dateTime怎么插入?

mysql中时间dateTime怎么插入?

c# 怎么向mysql 插入时间datetime

sqlite3数据库建表如何建立一个日期型的数据?

mysql插入数据有(datetime类型怎么插入) 求一个完整的SQL语句

java怎么使用日期格式化将时间插入mysql datetime数据类型中?