SQL學習筆記之(DATETIME)

2021-07-15 20:26:45 字數 2446 閱讀 2493

使用 set

statistics io on

來檢查是否有i/o操作,如果沒報告i/o操作,那麼可以確定不需要訪問基表,執行速度會非常快,

例如,把varchar列的大小改為更大的值將不涉及對基本資料的i/o操作,更改會瞬間完成,如果縮短varchar列的長度需要訪問基表資料,對大表操作時會花費很多時間

盡量不要使用ssms來更改架構,使用這些工具會帶來不必要的操作:比較建立乙個新錶,複製資料,刪除原表,把新錶重名為原來的表名,

好習慣是使用tsql**來執行架構更改!!

datetime資料型別

datetime在內部使用2個4位元組來儲存,一共需要8位元組,前4個位元組表示年月日,後4個位元組表示一天中的時間

smalldatetime共需要4個位元組,兩個位元組表示1900-1-1年以後的所有天數。另外兩個位元組表示午夜後的單位時間。

支援範圍從1900-1-1到2079-6-6

cast與convert:

cast、convert都可以執行資料型別轉換。在大部分情況下,兩者執行同樣的功能,不同的是convert還提供一些特別的日期格式轉換,而cast沒有這個功能。

既然convert包括了cast的所有功能,而且convert還能進行日期轉換,那麼為什麼需要使用cast呢?實際上,這是為了ansi/iso相容。cast是ansi相容的,而convert則不是。

語法:

cast (expression as data_type [

(length ) ])

convert (data_type [

( length )

] , expression [

, style

])

示例:

select'ab

'+1--此語句報錯,在將 varchar 值 'ab' 轉換成資料型別 int 時失敗。

select'ab

'+cast(1as

varchar) --輸出 ab1

select'ab

'+convert(varchar,1) --輸出 ab1

select

convert(datetime,'

2011-07-11

') --輸出 2011-07-11 00:00:00.000

select

cast('

2011-07-11'as

datetime) --輸出 2011-07-11 00:00:00.000

但是時間轉字串,cast沒有convert這麼多花樣:

select

convert(varchar,getdate(),5) --輸出 01-07-13

select

convert(varchar,getdate(),111) --輸出 2013/07/01

select

convert(varchar,getdate(),1) --輸出 07/01/13

select

cast(getdate() as

varchar) --輸出 07 1 2013 9:56pm

python 常用內建模組之datetime

from datetime import datetime now datetime.now print now out 2019 02 06 15 08 10.618082datetime模組裡還包含了乙個datetime類,通過from datetime import datetime匯入的才是...

Sql之Oracle學習筆記 一

自下向上的順序解析 where條件執行是從最後一 個條件開始的 select from a a where a.id 9 and a.id 10先執行a.id 10 select from a a,b b where b.id a.id先獲取b表 count 1 有索引用這個 count id nu...

SQL資料表批量插入日期值 datetime型別

客戶有個要求是,每個專案要有開始時間和結束時間,在這個範圍內,才能夠報銷費用。所以在project 表中需要批量匯入資料到project begin date,project end date欄位中。如下圖是客戶給出的excel表。首先是整理excel表,如下圖所示。在excel表的d2處可以寫這樣...