合併 MS SQL Server 中的日期和時間列
資料擷取有時會在單獨的欄位中顯示日期和時間。 本文示範如何在 MS SQL Server 中有效地將這些組合到單一日期時間列中。
解:
一種簡單的方法是直接新增日期和時間欄位。 然而,這需要兩個關鍵假設:
date
列的時間部分必須始終為午夜 (00:00:00)。 time
欄位的日期部分必須是基準日期(1900 年 1 月 1 日)。 如果滿足這些條件,以下 SQL 查詢將成功合併資料:
<code class="language-sql">SELECT CombinedDateTime = MyDate + MyTime FROM MyTable;</code>
說明:
這是由於 datetime
資料類型的內部表示而起作用的。它使用兩個 4 位元組整數;一個用於日期,一個用於時間。 直接添加它們會產生正確的組合日期時間值。
重要提示:
date
和time
資料類型(從SQL Server 2008 開始提供),請在新增之前將兩個欄位明確轉換為datetime
:CAST(MyDate AS DATETIME) CAST(MyTime AS DATETIME)
.datetime
和 time
可能會導致精確度損失。 有關保留精度的解決方案,請參閱[相關文件/文章](link_to_relevant_article_or_documentation_here - 替換為實際連結(如果有))。 這將涉及使用諸如 DATETIMEFROMPARTS
之類的函數來進行更精細的控制。 這種方法提供了一種簡單有效的解決方案,用於在指定條件下組合日期和時間欄位。 對於資料更複雜的場景,可能需要替代方法。
以上是如何將單獨的日期和時間欄位合併到 MS SQL Server 中的單一日期時間列中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!