sqlserver中關於時間型別的區別

時間 2021-12-25 10:08:18

1樓:設計複雜

1、首先獲取當前系統資料庫的日期和時間,可以利用函式getdate(),select getdate();如下圖所示。

2、獲取當前世界標準時間的日期時間值,利用getutcdate()函式,select getutcdate();如下圖所示。

3、然後select dateadd(day,1,'2015-5-11');在指定的時間增加一天。

4、在指定的時間增加兩年,select dateadd(year,2,'2015-03-17')。

5、最後datediff函式計算兩個時間相差值,第一個引數是按照單位計算差值,分,小時,秒,天,月,年,都可以。

2樓:匿名使用者

直接從每個型別定義就可以看出區別:

date、time、datetime三個型別直接從意思上可以理解,date是日期,time是時間,datetime是日期跟時間。「()」裡面的數字是表示長度。

datetime2資料型別,類似於之前的datetime型別,不過其精度比較高,可以精確到小數點後面7位(100ns);

datetimeoffset資料型別,加入了時區偏移量部分,時區偏移量表示為 [+|-] hh:mm。 hh 是範圍從 00 到 14 的 2 位數,表示時區偏移量的小時數。

mm 是範圍從 00 到 59 的 2 位數,表示時區偏移量的附加分鐘數。 時間格式支援到最小 100 毫微秒。 必需的 + 或 - 符號指示在 utc(通用協調時間或格林尼治標準時間)中是加上還是減去時區偏移量以獲取本地時間。

使用示例:

'2008-08-08 08:08:08.0 +8:00'

timestamp

timestamp 這種資料型別表現自動生成的二進位制數,確保這些數在資料庫中是唯一的。timestamp 一般用作給錶行加版本戳的機制。儲存大小為 8 位元組。

3樓:普實軟體

日期時間型別

date:日期

time:時間

datetime:時間+日期,有效時間範圍1753/1/1~9999/12/31,精確到3.33ms。

datetime2[(n)]:是精度可以改變的時間+日期,當然是指改變時間的精度啦

smalldatetime:結果類似於datetime,但是還是有區別的,smalldatetime的有效時間範圍1900/1/1~2079/6/6,精確到分鐘。

datetimeoffset

date

2017-09-19

time

09:05:09.2670000

datetime

9 19 2017  9:05am

datetime2可以設定精度

datetime2

2017-09-19 09:05:09.2670000

datetime2(5)

2017-09-19 09:05:09.26700

smalldatetime

9  19 2017  9:05am

datetimeoffset

2017-09-19 09:05:09.2670000 +00:00

輸出上面的原始碼

declare @dt as date

set @dt=getdate()

print 'date';

print @dt;

/*2017-09-19*/

declare @dt2 as time

set @dt2=getdate()

print 'time';

print @dt2;

/*08:49:53.7830000*/

declare @dt3 as datetime

set @dt3=getdate()

print 'datetime';

print @dt3;

/*9  19 2017  8:50am*/

print 'datetime2可以設定精度';

declare @dt4 as datetime2

set @dt4=getdate()

print 'datetime2';

print @dt4;

/*2017-09-19 09:16:03.6300000*/

declare @dt5 as datetime2(5)

set @dt5=getdate()

print 'datetime2(5)';

print @dt5;

/*2017-09-19 08:53:03.63000*/

declare @dt7 as smalldatetime

set @dt7=getdate()

print 'smalldatetime';

print @dt7;

/*9  19 2017  8:55am*/

declare @dt8 as datetimeoffset

set @dt8=getdate()

print 'datetimeoffset';

print @dt8;

/*2017-09-19 08:55:54.5770000 +00:00*/

sql server 中 關於和declare的解釋,請看

表示區域性變數,表示全域性變數 declare 定義變數,變數第一個字母是 宣告時需要指定變數的型別。declare n int 其中int是使用整數資料的精確數字資料型別,從 2 31 2,147,483,648 到 2 31 1 2,147,483,647 的整型資料。 1.sql server...

sqlserver中索引型別包括的三種型別分別是哪三種

三種索引型別分別是 1 主鍵索引 不允許具有索引值相同的行,從而禁止重複的索引或鍵值。系統在建立該索引時檢查是否有重複的鍵值,並在每次使用 insert 或 update 語句新增資料時進行檢查。2 聚集索引 指資料庫錶行中資料的物理順序與鍵值的邏輯 索引 順序相同。一個表只能有一個聚集索引,因為一...

Sql server中CONVERT函式用法

格式 convert data type,expression style 說明 此樣式一般在時間型別 datetime,smalldatetime 與字串型別 nchar,nvarchar,char,varchar 相互轉換的時候才用到.例子 select convert varchar 30 g...