跟我学SQL:( 9)datetime和interval数据类型来源: 发布时间:星期日, 2008年12月28日 浏览:2次 评论:0
="t18">datetime和erval是两种和时间有关数据类型它们作用体现在以下几个方面:创建或者更改记录库中某条记录、当某个时间发生时运行记录、或者计算某个datetime变量建立后所经历过时间本文将介绍SQL92标准对上述两种数据类型描述
SQL数据类型 如果你想进步了解SQL数据类型请阅读SQL基础:串型数据类型这篇文章范围覆盖了SQL中通用数据类型并介绍说明了各种串数据类型使用方法SQL基础:数字数据类型详细介绍了数字数据类型 Datetime 用于表示时间或者日期数据类型都属于datetime类型每种datetime数据类型都有他自己用于获取值长度和它所保存信息手段如天、月、分钟、秒、秒小数等等 实际上datetime实现形式随着定义它标准区别而拥有区别长度和格式;然而各个公司定义类型都内在地符合下述规则举例来说时标(timestamp)某个实现可能没有分隔符随着细节规范标准区别长度和格式也发生变化在某些场合以空格做为间隔符Datetime数据类型包括:DATA、TIME和TIMESTAMP让我们仔细研究这些分类首先我们看看DATA DATA 使用方法:DATA DATA类型允许没有参数如精度 DATA字段包括年、月和日 DATA长度为十个:YYYY-MM-DD(Y表示年、M表示月、D表示日) 它只允许和其它DATA类型字段相比较 允许数字必须符合公历规范标准 TIME 使用方法:TIME(精度) 该类型包含了小时、分和秒格式为hh:mm:ss(h表示小时、m表示分、s表示秒) 精度可选择(……) 时间以世界标准时间(UniversalCoordinatedTimeUTC)为准即00:00:00表示.格林威治午夜服务器时区隐含 如果不需要秒小数部分那么TIME长度为 8个否则就是 8位长度在加上精度:hh:mm:ss.p 它只能和其它TIME类型数据进行比较 如果没有指定精度精度默认为0 TIMEWITHTIMEZONE 使用方法:TIME(精度)WITHTIMEZONE 这个值要符合TIME数据类型 TIMEZONE部分表示相对UTC时差:00:00:00+hh:mm它范围为-12:59到13:00 精度表示秒小数部分 带有TIMEZONETIME长度为14个加上精度在加上个分隔符 只可以和带有TIMEZONETIME类型数据进行比较 TIMESTAMP 使用方法:TIMESTAMP(精度) 该类型包含有年、月、日、时、分、秒格式为:YYYY-MM-DDhh:mm:ss. 可以包括秒小数部分这由定义精度决定 它日期部分符合公历标准时间部分为UTC格式默认为当地时区 时标长度为19个加上精度在加上精度分隔符 许多系统偏离上述定义长度如UNIX风格时标格式为:YYYY-MM-DDhh:mm:ss.p 如果没有定义精度默认值为6但是许多数据库公司默认为0所以请参考你开发文档 时标只可以和其它TIMESTAMP类型值相比较 TIMESTAMPWITHTIMEZONE 使用方法:TIMESTAMP(精度)WITHTIMEZONE 时标部分符合上述TIMESTAWP规则 精度代表秒小数部分 时区部分要求和TIMEWITHTIMEZONE样即时区符合UTC规范标准范围在-12:59到+13:00的间 总长度为25个加上精度加上个精度分隔符:YYYY-MM-DDhh:mm:ss.p 它只能和其它TIMESTAMPWITHTIMEZONE类型数据进行比较 Interval Interval用于表示时间尺度例如你可以用操作符(将在下面进行解释)去计算两个日期间天数并加以保存 各个公司在处理erval上有很大区别——有些公司提供区别度量单位如年或者分钟而有些公司在根本就不支持ervalSQL92标准erval类型只提供种子类型:INTERVAL INTERVAL 使用方法:INTERVAL(限定语) 有两种类型erval:种为“年份-月份”即保存年份和月份(YYYY-MM);种为“天-时间”(DDHH:MM:SS)用来保存天数、小时、分钟和秒 限定语——在某些数据库中erval前导精度(leadprecision)——根据其值来指示erval采用“年份-月份”还是“天-时间”方式 erval可正可负 当和其它erval类型变量相比较时结果保持最大精度如有必要则补零 INTERVAL全部由整成除了含有小数秒的外 “年份-月份”类型erval变量只能和其它“年份-月份”erval变量进行比较“天-时间”类型也和此类似 操作符 操作结果类型 当处理日期时间时时区保持不变——尽管有些数据库为了比较而将其中个时区转换为另个存在些操作关键字如OVERLAPS和EXTRACT它们用于操作和比较datetime类型数据然而区别数据库在这些操作关键字使用方法和支持方式上有着很大区别 OVERLAPS用于计算时间交叠跨度其操作对象可以是两个datetime也可以是个datetime和个ervalEXTRACT用于提取datetime或者erval类型数据某个部分如在DATA类型数据中提取月份 数据类型 由于已建立标准是为了各公司在现有基础上实现实际上数据类型因此在具体限制、参数和数据类型等方面你还是需要经常参考你数据库文档 0
相关文章读者评论
发表评论 |