在 SQL Server 中,Time 資料類型儲存時間值,但不包含特定的顯示格式。要提取 HH:MM:SS 格式的時間值,我們需要將 DateTime 欄位轉換為字元型字串。
使用 CONVERT 函數,我們可以將 DateTime 欄位轉換為具有所需格式的字串,如下所示:
<code class="language-sql">SELECT CONVERT(varchar(8), CAST([datetime] AS TIME), 108) AS [CSTTime]</code>
說明:
CONVERT
函數將 [datetime]
欄位轉換為字元型字串。 varchar(8)
參數指定結果字串的長度(本例為 8 個字元)。 使用 varchar
比 char
更有效率,因為 varchar
只儲存實際使用的字元數。 CAST([datetime] AS TIME)
將 datetime
值轉換為 TIME
資料類型,移除日期部分。 108
樣式程式碼指示 SQL Server 將 Time 值轉換為 HH:MM:SS 格式,忽略毫秒。 範例:
給定 DateTime 值 '2015-03-19 00:00:00.000',上述查詢將傳回 '00:00:00'。 請注意,如果 datetime
包含時間訊息,則會傳回該時間訊息。
技術背景:
在內部,SQL Server 將 Time 值儲存為 4 個位元組整數,表示午夜後的時鐘滴答數。每個滴答聲代表 3.3 毫秒。因此,Time 資料類型本身並不具有特定的顯示格式。
當使用 CAST 語法將 DateTime 轉換為 Time 時,毫秒將保留在結果 Time 值中。要取得 HH:MM:SS 格式的格式化字串,需要使用 CONVERT 函數。 使用 CAST
先將值轉換為 TIME
類型,再用 CONVERT
格式化輸出,可以確保更清晰、更準確的轉換結果。
以上是如何將 SQL Server 日期時間轉換為 HH:MM:SS 時間格式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!