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函数

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2019-10-28

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 转义语法的格式化和解析操作的能力。 

本回答被网友采纳
第2个回答  推荐于2019-09-21

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 这种格式

本回答被网友采纳
第3个回答  推荐于2018-02-23
你的是什么版本的啊,我试过了 我的是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','朝秦暮楚');本回答被提问者和网友采纳
第4个回答  2017-08-01
DateTime 就是ymd his 这样的 你要在添加之前转换过来你要在执行添加之前把它转换成datetime格式的 比如$time=date('Y-m-d H:i:s'); 这就是当前时间,然后你执行insert的时候把$time放到第二个里面就行了
相似回答