sql数据库中的时间类型

各位大哥大姐请教一下sql数据库中的时间类型用nvarchar好还是datetime好啊?用datetime是不是有点麻烦啊?... 各位大哥大姐请教一下sql数据库中的时间类型用nvarchar好还是datetime好啊?用datetime是不是有点麻烦啊? 展开
 我来答
普实软件
2017-06-19 · 知道合伙人软件行家
普实软件
知道合伙人软件行家
采纳数:1703 获赞数:7398
普实软件ERP专家

向TA提问 私信TA
展开全部

日期时间类型:


time:

格式:hh:mm:ss[.nnnnnnn]

范围:00:00:00.0000000 到23:59:59.9999999

精确度:100 纳秒

存储大小(以字节为单位):3-5

用户定义的秒的小数精度:有

时区偏移量:无


date:

格式:YYYY-MM-DD

范围:0001-01-01 到 9999-12-31

精确度:1天

存储大小(以字节为单位):3

用户定义的秒的小数精度:无

时区偏移量:无


smalldatetime:

格式:YYYY-MM-DD hh:mm:ss

范围:1900-01-01 到 2079-06-06

精确度:1分钟

存储大小(以字节为单位):4

用户定义的秒的小数精度:无

时区偏移量:无


datetime:

格式:YYYY-MM-DD hh:mm:ss[.nnn]

范围:1753-01-01 到 9999-12-31

精确度:0.00333秒

存储大小(以字节为单位):8

用户定义的秒的小数精度:无

时区偏移量:无


datetime2:

格式:YYYY-MM-DD hh:mm:ss[.nnnnnnn]

范围:0001-01-01 00:00:00.0000000 到9999-12-31 23:59:59.9999999

精确度:100钠秒

存储大小(以字节为单位):6 到 8

用户定义的秒的小数精度:有

时区偏移量:无


datetimeoffset:

格式:YYYY-MM-DD hh:mm:ss[.nnnnnnn] [+|-]hh:mm

范围:0001-01-01 00:00:00.0000000 到9999-12-31 23:59:59.9999999(以UTC 时间表示)

精确度:100钠秒

存储大小(以字节为单位):8 到10

用户定义的秒的小数精度:有

时区偏移量:有

光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
慕菀雪宸
游戏玩家

2013-12-21 · 非著名电竞玩家
知道大有可为答主
回答量:1.1万
采纳率:33%
帮助的人:835万
展开全部
满意答案。9级2010-11-29使用nvarchar对于前期的实现比较容易,但性能及后期使用及后期需求开发比较困难
如按时间排序,数据库类型校验,根据时间段查询,根据时间的分组统计等等方面造成的影响比较大
追问:
如果用datetime
我的MyEclipse用Hibernate转换时是timestamp类型的
在用模糊查询查时间时有点纠结啊
老是报不能转换的错误
回答:
用hibernate啊
那你在配置文件注入类型不用时间戳
改成这个试试java.util.Date
补充:
hibernate项目好几年没做过了
原来在数据库时间建模和操纵时习惯用java.sql.Timestamp与数据库中DateTime对应,但业务流通层,模型里还是用java.util.Date
因为这些时间直接的转换都是一样的方便,而且这样做逻辑理解上比较直观
记忆中是没有出现过错误,Timestamp在现在使用数据源时经常使用
追问:
知道用date类型的哇
但是hibernate自动生成的就是timestamp类型
不改配置文件
就用timestamp怎么做啊?总不能每次生成就改一次配置文件吧.....
追问:
还有我做的是模糊查询
在form里面时间又是string类型的
转换有点麻烦
回答:
你在createSQLQuery方法后面在使用
addScalar方法传入你datetime的实体对应名和hibernate类型试一下吧
补充:
这个的确比较麻烦,你可以写个公共转换方法进行转换
就是字符串根据你的时间格式进行取出时间long
然后转换就可以了
大概这样子
SimpleDateFormat
simpleDateFormat
=
new
SimpleDateFormat();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2017-04-23
展开全部
使用nvarchar对于前期的实现比较容易,但性能及后期使用及后期需求开发比较困难 如按时间排序,数据库类型校验,根据时间段查询,根据时间的分组统计等等方面造成的影响比较大
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-31
展开全部
你可以用时间戳,int的就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-31
展开全部
用datetime吧 这样方便查询
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式