数据库datetime是什么类型

数据库datetime是什么类型,第1张

Mysql中经常用来存储日期的数据类型有三种:Date、Datetime、Timestamp。

Date数据类型:用来存储没有时间的日期。Mysql获取和显示这个类型的格式为“YYYY-MM-DD”。支持的时间范围为“1000-00-00”到“9999-12-31”。

Datetime类型:存储既有日期又有时间的数据。存储和显示的格式为

“YYYY-MM-DD

HH:MM:SS”。支持的时间范围是“1000-00-00

00:00:00”到“9999-12-31

23:59:59”。

Timestamp类型:也是存储既有日期又有时间的数据。存储和显示的格式跟Datetime一样。支持的时间范围是“1970-01-01

00:00:01”到“2038-01-19

03:14:07”。

所有不符合上面所述格式的数据都会被转换为相应类型的0值。(0000-00-00或者0000-00-00

00:00:00)

你为啥不直接在数据库中计算时间差就好了,在JS中计算问题很多,因为JS时间是取的本地电脑时间,如果本地电脑时间不准那就直接显示错误了,当然如果一定要在JS中计算那转成JS的时间就可以算了,具体参照网页链接

net 11 不支持Sql Server datetime字段为空的情况

net 20 开始支持Sql Server datetime字段为空

Sql Server数据库一般是选择一个特定的日期代表空值,默认的情况下,是1900-1-1

1)您的数据库中类型必须是:datetime2)然后你可以:"select

from

表名称

where

[日期字段]='"+DateTimeNowToString("yyyy-MM-dd

HH:mm:ss")+"'"

示例代码:namespace

ConsoleApplicationCSharp

{

public

class

Program

{

static

void

Main(string[]

args)

{

try

{

using

(SqlConnection

con

=

new

SqlConnection("server=;database=dbtest;integrated

security=true"))

{

conOpen();

//初始化DateTime,为了模拟当前数据库中的时间,你可以DateTimeNow代替

SqlCommand

cmd

=

new

SqlCommand("select

from

tbtest

where

datetimenow='"+new

DateTime(2011,1,1,19,20,2)ToString("yyyy-MM-dd

HH:mm:ss")+"'",con);

ConsoleWriteLine(cmdExecuteReader()HasRows);

}

}

catch

(Exception)

{

throw;

}

}

}

}

TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)

返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差。

其结果的单位由interval 参数给出。该参数必须是以下值的其中一个:

FRAC_SECOND 表示间隔是毫秒

SECOND  秒

MINUTE  分钟

HOUR  小时

DAY  天

WEEK  星期

MONTH  月

QUARTER  季度

YEAR  年

SELECT '年'  AS  `日期部分`,  TIMESTAMPDIFF(YEAR, '2012-12-21',  CURRENT_TIMESTAMP()) AS `数值`

UNION ALL

SELECT '季度'  AS  `日期部分`,  TIMESTAMPDIFF(QUARTER, '2012-12-21', CURRENT_TIMESTAMP()) AS `数值`

UNION ALL

SELECT '月'  AS  `日期部分`,  TIMESTAMPDIFF(MONTH, '2012-12-21', CURRENT_TIMESTAMP()) AS `数值`

UNION ALL

SELECT '日'  AS  `日期部分`,  TIMESTAMPDIFF(DAY, '2012-12-21', CURRENT_TIMESTAMP()) AS `数值`

UNION ALL

SELECT '周'  AS  `日期部分`,   TIMESTAMPDIFF(WEEK, '2012-12-21', CURRENT_TIMESTAMP()) AS `数值`

UNION ALL

SELECT '时'  AS  `日期部分`,   TIMESTAMPDIFF(HOUR, '2012-12-21', CURRENT_TIMESTAMP()) AS `数值`

UNION ALL

SELECT '分'  AS  `日期部分`,   TIMESTAMPDIFF(MINUTE, '2012-12-21', CURRENT_TIMESTAMP()) AS `数值`

UNION ALL

SELECT '秒'  AS  `日期部分`,   TIMESTAMPDIFF(SECOND, '2012-12-21', CURRENT_TIMESTAMP()) AS `数值`

;

+----------+----------+

| 日期部分 | 数值     |

+----------+----------+

| 年       |        1 |

| 季度     |        4 |

| 月       |       12 |

| 日       |      388 |

| 周       |       55 |

| 时       |     9328 |

| 分       |   559737 |

| 秒       | 33584279 |

+----------+----------+

8 rows in set (000 sec)

mysql> select CURRENT_TIMESTAMP();

+---------------------+

| CURRENT_TIMESTAMP() |

+---------------------+

| 2014-01-13 16:58:17 |

+---------------------+

1 row in set (000 sec)

datetime类型:可用于需要同时包含日期和时间信息的值。

datetime:MySQL 以 'YYYY-MM-DD HH:mm:ss'格式检索与显示 DATETIME 类型。

DateTime日期和时间部分,可以表示1753年1月1日00:00:00000到9999年12月31日23:59:59997之间的日期范围,精确到333ms,它需要8字节的存储空间,其中前4字节用于存储1900年1月1日之前或之后的天数。该值分为正数和负数,正数表示此日期之后的天数,负数表示此日期之前的天数;最后4个字节用于存储从零开始指定的时间之后的毫秒数。

以上就是关于数据库datetime是什么类型全部的内容,包括:数据库datetime是什么类型、在数据库中获取到了datetime格式的时间(2018-08-06 11:09:02)想在js中获取当前时间并计算时间差、如何在vc中取到sqlserver中datetime类型的字段值,需要精确到毫秒等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10148354.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存