<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        SQLSERVER中datetime和smalldatetime類型分析說明

        來源:懂視網 責編:小采 時間:2020-11-09 07:13:25
        文檔

        SQLSERVER中datetime和smalldatetime類型分析說明

        SQLSERVER中datetime和smalldatetime類型分析說明:datetime 和 smalldatetime 代表日期和一天內的時間的日期和時間數據類型。 Microsoft SQL Server 用兩個 4 字節的整數內部存儲 datetime 數據類型的值。第一個 4 字節存儲 base date (即 1900 年 1 月 1 日)之前或之后的天數。基礎日期是系
        推薦度:
        導讀SQLSERVER中datetime和smalldatetime類型分析說明:datetime 和 smalldatetime 代表日期和一天內的時間的日期和時間數據類型。 Microsoft SQL Server 用兩個 4 字節的整數內部存儲 datetime 數據類型的值。第一個 4 字節存儲 base date (即 1900 年 1 月 1 日)之前或之后的天數。基礎日期是系

        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 (格林尼治標準時間)時間。

        您可能感興趣的文章:

      1. sql server中datetime字段去除時間的語句
      2. sql語句中如何將datetime格式的日期轉換為yy-mm-dd格式
      3. 使用 MySQL Date/Time 類型
      4. sql server中datetime字段去除時間代碼收藏
      5. sqlserver和oracle中對datetime進行條件查詢的一點區別小結
      6. mysql From_unixtime及UNIX_TIMESTAMP及DATE_FORMAT日期函數
      7. MySQL時間字段究竟使用INT還是DateTime的說明
      8. Sql中將datetime轉換成字符串的方法(CONVERT)
      9. MySql用DATE_FORMAT截取DateTime字段的日期值
      10. SqlDateTime溢出該怎么解決
      11. 聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        SQLSERVER中datetime和smalldatetime類型分析說明

        SQLSERVER中datetime和smalldatetime類型分析說明:datetime 和 smalldatetime 代表日期和一天內的時間的日期和時間數據類型。 Microsoft SQL Server 用兩個 4 字節的整數內部存儲 datetime 數據類型的值。第一個 4 字節存儲 base date (即 1900 年 1 月 1 日)之前或之后的天數。基礎日期是系
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲国产成人精品久久 | 亚洲中文字幕无码av永久| 免费91麻豆精品国产自产在线观看| 免费va在线观看| 欧亚一级毛片免费看| 精品国产亚洲男女在线线电影 | 久久www免费人成看国产片| 国产91精品一区二区麻豆亚洲| 成人精品综合免费视频| 久久久久一级精品亚洲国产成人综合AV区 | 四虎永久在线精品免费观看地址| 亚洲av中文无码字幕色不卡| 国产在线19禁免费观看国产 | 亚洲午夜电影在线观看高清| 女人张开腿给人桶免费视频 | 99爱在线观看免费完整版 | 99亚洲乱人伦aⅴ精品| 免费一级做a爰片久久毛片潮喷| 一级特黄录像免费播放中文版| 亚洲无线码在线一区观看| 最好看最新的中文字幕免费| 亚洲国产最大av| 亚洲国产精品第一区二区三区| 丁香花在线观看免费观看图片| 亚洲伊人tv综合网色| 四虎影视大全免费入口| 中文字幕乱码系列免费| 亚洲精品熟女国产| 在线日韩av永久免费观看| 热久久这里是精品6免费观看| 亚洲最大免费视频网| 国产乱人免费视频| 免费高清国产视频| 亚洲精品无码av中文字幕| 精品国产人成亚洲区| 噼里啪啦免费观看高清动漫4| 男女污污污超污视频免费在线看| 久久精品国产亚洲av成人| 免费无码又爽又刺激毛片| 久久免费福利视频| 全黄A免费一级毛片|