摘要:[MSSQL]時間日期在SQL語法的表示法
通常我們在使用資料庫時日期格式的表示方式通常為YYYY/MM/DD 00:00:00.000
而對於時間日期的欄位呈現會有比較多客製的呈現,這時我們可以透過SQL語法來幫我們直接做出我們想要的效果
以下是一個簡單的範例:
select convert(char(10),date,121) from product /*日期會以YYYY-MM-DD的格式顯示*/
select convert(char(10),date,121) from product /*日期會以YYYY/MM/DD的格式顯示*/
下面再舉一個比較常用的範例,我們如果要從網頁上篩選某筆資料的起迄時間,假設我們會從網頁取得欲查詢的起迄時間:begDate、endDate(一般只會顯示至年月日,故此時分秒皆為0,即yyyy-mm-dd 00:00:00的情況)
這邊我們就可以用Between來抓出一個以日期為最小時間單位的資料,如下
SELECT * FROM Epaper
where
createTime between
convert(date,begDate,121)
and
dateadd(second,86399,convert(datetime,convert(date,endDate,121),121))
此外,我們也可以透過一些MSSQL內建的function來幫我們做處理, 如下
select Year(date) from product /*日期只呈現西元年*/
詳細的function可參考MSDN官方文件
如果覺得文章還不錯麻煩請在文章最上面給予推薦,你的支持是小弟繼續努力產出的動力!