‘壹’ 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”。
‘贰’ 如何更新mysql数据库中datetime类型的字段
--比如datetime字段为:sj
update表名setsj=now()where条件;//now()是当前本地年月日时分秒
update表名setsj='2014-10-1012:00:00'where条件;
‘叁’ 怎样将mysql数据库表的datetime类型字段
怎样将mysql数据库表的datetime类型字段
更新mysql数据库中datetime类型的字段:
举例如下:
UPDATE calldata
SET date = DATE_SUB(date, INTERVAL 7 DAY)
WHERE date >= '2014-01-08'
AND date < '2014-01-09
这个sql语句中,date 是datetime类型的
‘肆’ mysql数据库里的日期用timestamp还是datetime好
datetime
1. 占用8个字节
2. 允许为空值,可以自定义值,系统不会自动修改其值。
3. 实际格式储存(Just stores what you have stored and retrieves the same thing which you have stored.)
4. 与时区无关(It has nothing to deal with the TIMEZONE and Conversion.)
5. 不可以设定默认值,所以在不允许为空值的情况下,必须手动指定datetime字段的值才可以成功插入数据。
6. 可以在指定datetime字段的值的时候使用now()变量来自动插入系统的当前时间。
结论:datetime类型适合用来记录数据的原始的创建时间,因为无论你怎么更改记录中其他字段的值,datetime字段的值都不会改变,除非你手动更改它。
timestamp
1. 占用4个字节
2. 允许为空值,但是不可以自定义值,所以为空值时没有任何意义。
3. TIMESTAMP值不能早于1970或晚于2037。这说明一个日期,例如'1968-01-01',虽然对于DATETIME或DATE值是有效的,但对于TIMESTAMP值却无效,如果分配给这样一个对象将被转换为0。
4.值以UTC格式保存( it stores the number of milliseconds)
5.时区转化 ,存储时对当前的时区进行转换,检索时再转换回当前的时区。
6. 默认值为CURRENT_TIMESTAMP(),其实也就是当前的系统时间。
7. 数据库会自动修改其值,所以在插入记录时不需要指定timestamp字段的名称和timestamp字段的值,你只需要在设计表的时候添加一个timestamp字段即可,插入后该字段的值会自动变为当前系统时间。
8. 以后任何时间修改表中的记录时,对应记录的timestamp值会自动被更新为当前的系统时间。
结论:timestamp类型适合用来记录数据的最后修改时间,因为只要你更改了记录中其他字段的值,timestamp字段的值都会被自动更新。
看完这个比较你就知道用哪个好啦
我们公司一般用datatime,可控性比较强
‘伍’ 请问关于Mysql数据库的Datetime类型的数据查询处理问题。
1.可以做个数据库的定时器,定时扫描,修改状态
2.可以用代码实现定时!
‘陆’ 如何更新mysql数据库中datetime类型的字段
如何更新mysql数据库中datetime类型的字段
更新mysql数据库中datetime类型的字段:
举例如下:
UPDATE calldata
SET date = DATE_SUB(date, INTERVAL 7 DAY)
WHERE date >= '2014-01-08'
AND date < '2014-01-09
这个sql语句中,date 是datetime类型的
‘柒’ MySql要怎么插入DateTime型的数据
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() 来替代上面列出的函数。
(7)mysql数据库datetime扩展阅读:
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数据库中日期类型是datetime,我想查找出每一天中数据的数目,求助
SELECT
*
FROM
`paiyue`
WHERE
UNIX_TIMESTAMP(
'2010-02-23'
)
<
UNIX_TIMESTAMP(
paiyue_time
)
AND
UNIX_TIMESTAMP(
paiyue_time
)
<
UNIX_TIMESTAMP(
'2010-03-23'
)
mysql查询一段时间内的数据,使用UNIX_TIMESTAMP函数将时间格式转换成时间戳
‘玖’ mysql数据库datetime读取出来是一串数字
$sql
=
"insert
into
users
(date)
values
($userdate)
";
改成:
$sql
=
"insert
into
users
(date)
values
('".$userdate."')
";
估计是因为你日期和时间之间有空格,所以才出错(就是以2014-05-01
12:11:11为例,日期的-01和12:点之间有空格),用单引号括起来应该就可以。
另外:
$userdate
=
date("y-m-d
h:i:s",strtotime('now'));
可以直接用:
$userdate
=
date("y-m-d
h:i:s",time());