在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

SQLSERVER 中datetime 和 smalldatetime类型的作用是什么

117次阅读
没有评论

共计 2441 个字符,预计需要花费 7 分钟才能阅读完成。

行业资讯    
数据库    
SQLSERVER 中 datetime 和 smalldatetime 类型的作用是什么

今天就跟大家聊聊有关 SQLSERVER 中 datetime 和 smalldatetime 类型的作用是什么,可能很多人都不太了解,为了让大家更加了解,丸趣 TV 小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

datetime 和 smalldatetime 代表日期和一天内的时间的日期和时间数据类型。Microsoft SQL Server 用两个 4 字节的整数内部存储 datetime 数据类型的值。第一个 4 字节存储 base date(即 1900 年 1 月 1 日)之前或之后的天数。基础日期是系统参考日期。不允许早于 1753 年 1 月 1 日的 datetime 值。第一个 4 字节:1900 年 1 月 1 日当日为 0;之前的日期是负数;之后日期是正数。另外一个 4 字节存储以午夜后 3 1/3 毫秒数所代表的每天的时间。smalldatetime 数据类型存储日期和每天的时间,但精确度低于 datetime。SQL Server 将 smalldatetime 的值存储为两个 2 字节的整数。第一个 2 字节存储 1900 年 1 月 1 日后的天数。另外一个 2 字节存储午夜后的分钟数。日期范围从 1900 年 1 月 1 日到 2079 年 6 月 6 日,精确到分钟。可以将这两种类型转换成 float 浮点数, 其中整数部分就是对应的日期字节, 而小数部分是时间相应的比例, 如 datetime 的小数部分就是占整天的毫秒数的比例;smalldatetime 的小数部分就是占整天的分钟数的比例. 因此我们可以直接将这两种类型的变量和整数、浮点数进行直接的加减。datetime 从 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和时间数据,精确度为百分之三秒(等于 3.33 毫秒或 0.00333 秒)。如下表所示,把值调整到 .000、.003、或 .007 秒的增量。示例

调整后的示例

01/01/98 23:59:59.999

1998-01-02 00:00:00.000

01/01/98 23:59:59.995,01/01/98 23:59:59.996, 01/01/98 23:59:59.997, 或 01/01/98 23:59:59.998

1998-01-01 23:59:59.997

01/01/98 23:59:59.992, 01/01/98 23:59:59.993, 01/01/98 23:59:59.994

1998-01-01 23:59:59.993

01/01/98 23:59:59.990 或 01/01/98 23:59:59.991

1998-01-01 23:59:59.990

我们常常需要搜索指定日期范围内的数据, 比如返回 1998-01-01 当天内的数据, 你可能会这样写: date =‘1998-01-01 00:00:00.000 and date =‘1998-01-01 23:59:59.999 根据上面的调整规则, 其实这句语句的实际搜索范围为: date =‘1998-01-01 00:00:00.000 and date =‘1998-01-02 00:00:00.000 你会看到这包括了 1998-01-02 的数据, 所以最好的正确的搜索语句为: date =‘1998-01-01 00:00:00.000 and date‘1998-01-02 00:00:00.000 smalldatetime 从 1900 年 1 月 1 日到 2079 年 6 月 6 日的日期和时间数据精确到分钟。29.998 秒或更低的 smalldatetime 值向下舍入为最接近的分钟,29.999 秒或更高的 smalldatetime 值向上舍入为最接近的分钟。–returns time as 12:35 SELECT CAST(2000-05-08 12:35:29.998 AS smalldatetime) GO –returns time as 12:36 SELECT CAST(2000-05-08 12:35:29.999 AS smalldatetime) GO 赋值:上面说了时间的实际格式,我们在给一个时间变量赋值时肯定不会赋一个浮点数给该变量,更多的情况是我们给这个变量赋一个字符串,系统会自动将字符串变成时间格式并保存到数据库中。若字符格式错误,则报错。根据语言不同,世界上有多种不同的用字符串表示时间方式,我们可以通过 sp_helplanguage 查看不同语言下的缺省时间格式,如简体中文的时间格式为 ymd,可以通过 SET DATEFORMAT 来暂时更改这个缺省值。时间函数 DATEADD:可以对时间类型的指定部分进行加减计算,虽然我们上面说了可以进行直接的加减,但是我们可以更方便的利用这个函数对指定部分,如年月日时分秒等进行加减。我们常常根据一个时间来构造出另外一个时间,比如下个月的今天 , 本月底等等,我们应该也尽量使用 DATEADD 函数来构造,它可以避免一些闰月、年底、月底之类的错误,我以前就是根据 DATENAME 来构造的,常常要考虑这些问题。DATEDIFF:该函数对两个时间变量对指定部分进行比较计算。此函数不考虑比指定日期部分更高的粒度级别,它只考虑更低级别的部分。对时间的比较应尽量使用本函数。举个出错的例子:返回两个时间变量的小时差。若使用 DATEPART(HOUR, @T2 – @T1) 就可能会出错;你应该使用 DATEDIFF(HOUR, @T1, @T2)。DATEPART:返回时间变量的指定部分的值。DATENAME:返回时间变量的指定部分的值,和 DATAPART 不同的是本函数返回的是个字符串类型 GETDATE() 返回本机器的当前时间。CURRENT_TIMESTAMP 变量与本函数功能相同。GETUTCDATE() 返回本机器的当前 UTC(格林尼治标准时间)时间。

看完上述内容,你们对 SQLSERVER 中 datetime 和 smalldatetime 类型的作用是什么有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注丸趣 TV 行业资讯频道,感谢大家的支持。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-03发表,共计2441字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 久久网免费 | 亚洲精品中文字幕乱码三区 | 在线黄色免费观看 | 深夜a级毛片视频免费 | 国内永久第一免费福利视频 | 久久久精品人妻一区二区三区 | 5x性区m免费毛片视频看看 | 深夜特黄a级毛片免费播放 深夜偷偷看视频在线观看 深夜一级毛片 | 国产九色在线 | 四虎免费紧急入口观看 | 欧美牲交a欧美牲交aⅴ | 黄色成人免费观看 | 制服丝袜美腿一区二区 | www.嫩草av天堂影院 | 久久久亚洲精华液精华液精华液 | 女同久久另类99精品国产 | 欧美肥老太牲交大战 | 中国国产xxxx免费视频 | 亚洲av成人www永久无码精品 | 无码精品黑人一区二区三区 | 一个色综合亚洲伊人久久 | 丁香狠狠色婷婷久久综合 | 丰满岳妇乱一区二区三区 | 国产精品h片在线播放 | 欧美日韩国产在线 | a级大胆欧美人体大胆666 | 国产仑乱无码内谢 | 国产96福利视频在线观看 | 成人a级毛片免费观看av网站 | 欧美在线亚洲国产免m观看 欧美在线一级va免费观看 | 成人午夜性a一级毛片美女 成人午夜性影院视频 | 香蕉97碰碰视频在线看 | 国产精品亚洲一区二区无码 | 日韩一区二区在线播放 | 亚洲中文字幕无码一区二区三区 | 日韩精品中文字幕无码一区 | 天天摸夜夜摸夜夜狠狠摸 | 亚洲人成电影网站色 | 亚洲伊人色综合网站亚洲伊人 | 日日摸夜夜摸无需播放器 | 亚洲性人人天天夜夜摸 |