SQL 日期格式 筆記

--

Code Newbie Note for only can use.

資料類型datetime常用來取得日期時間

“預設值或繫結” = getdate()
在Design中的 "預設值或繫結" 填入為 getdate(),
則當下的日期時間會被記錄在資料庫中,使用者不需自己填寫日期時間。

“預設值或繫結” = Y
開放使用者自己填寫日期時間。

“預設值或繫結” = N
不開放欄位。

直接執行 SELECT GETDATE()
取得:2021–08–05 15:17:57.623
記錄: 年 - 月 - 日 時:分:秒.毫秒
會給你很~完整的資料 (但有時不需要這麼多==)

轉換格式 — 西元 年.月.日

SELECT CONVERT(varchar(10), GETDATE(),102) AS YearMonthDate
2021.08.06

CONVERT ( 資料型別 [(長度)] , expression內容 [, 樣式代碼])
[]:為非必要之部分

轉換格式 — 民國 年/月/日

SELECT N'民國'+ CONVERT(VARCHAR(10),(GETDATE()-CAST('1911' AS DATETIME)),11) AS 民國日期
民國110/08/06

轉換格式 — 西元 年-月-日 時間 hh:mm:ss

CONVERT(char(19), getdate(), 120)
2021–08–06 11:05:20

樣式代碼

  • 101: mm/dd/yyyy — 12/27/2009
  • 2 : yy.mm.dd — 09.12.27
  • 103: dd/mm/yyyy — 27/12/2009
  • 104: dd.mm.yy — 27.12.2009
  • 11 : yy/mm/dd — 09/12/27
  • 111: yyyy/mm/dd — 2012/12/09

Select between 的雷

SELECT * FROM Orders WHERE OrderDate BETWEEN ‘2020–01–01’ AND ‘2020–12–31’

事實上2020–12–31只會取到 00:00:00,即接下來的24小時資料不會抓到

所以應該是 ‘2020–01–01’ AND ‘2021–01–01’ 才是一整年度。

拆分取各自年月日時分秒

用 DATEPART,如:SELECT DATEPART(yyyy,GETDATE()) as ‘年’
2021

--

--

No responses yet