sdrb.net
当前位置:首页 >> mysql 里 DAtE的长度 为什么总是为0 >>

mysql 里 DAtE的长度 为什么总是为0

MySQL 中 DATE 日期。支持的范围为’1000-01-01’到’9999-12-31’。 MySQL以’YYYY-MM-DD’格式显示DATE值,但允许使用字符串或数字为DATE列分配值。 日期类型的, 填写长度是没有意义的埃 不是 varchar 埃

不用 date为时间格式,只能有几个特定的格式,所有不需要设置长度

CURDATE() 将当前日期按照'YYYY-MM-DD' 或YYYYMMDD 格式的值返回,具体格式根据函数用在字符串或是数字语境中而定。 mysql> SELECT CURDATE(); -> '1997-12-15' mysql> SELECT CURDATE() + 0; -> 19971215

mysql> SELECT -> NOW(), -> DATE_FORMAT(NOW(), '%Y-%c-%e %k.%i.%s' ) A; +---------------------+--------------------+ | NOW() | A | +---------------------+--------------------+ | 2011-08-10 11:03:42 | 2011-8-10 11.03.42 | +------...

检查你插入时提交的数据是否不正确,按道理讲问题只会出现在数据输入上 先从表单查起,再检查插入脚本,调试一下

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、应用场景的区别 当业...

public void add(Emp emp) { getconn(); String sql="insert into emp (empno,ename,job,mgr,hiredate,comm,sal,deptno)" + "values(?,?,?,?,?,?,?,?)"; try { stmt=conn.prepareStatement(sql); stmt.setInt(1,emp.getEmpno()); stmt.setString...

那是因为你插入的数据不符合date数据类型的合法格式.. DATE:4字节 1000-01-01 ----9999-12-31 至于出现0000-00-00 那是mysql的处理机制,当你插入的数据格式不是规范的date类型要求的格式的时候,自动转化成0000-00-00这个值 ~

不需要指定长度呀,如下: CREATE TABLE `ab` ( `time1` date, `time2` datetime, `time3` timestamp ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

网站首页 | 网站地图
All rights reserved Powered by www.sdrb.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com