簡體   English   中英

將日期和整數時間轉換為日期時間

[英]Convert date and int time as datetime

我有一列 MyDate 作為日期和 TimeStart 作為 int。 如何將下面的圖像轉換為 SQL 中的日期時間,例如 2019-11-01 00:06

在此處輸入圖片說明

如果你想要一個時間,然后將分鍾添加到值中:

select convert(time, dateadd(minute, (timecol / 100) + timecol % 60, 0))

當然,您可以將其添加到mydate列中:

select dateadd(minute, (timecol / 100) + timecol % 60, mydate)

您還沒有告訴我們您使用的是哪個 DBMS。 在標准 SQL 中,您將因此添加 n 分鍾:

<some_date> + <number_of_minutes> * interval '1' minute

(至少這就是我閱讀標准語法的方式,其中間隔文字定義為

<interval literal> ::= INTERVAL [ <sign> ] <interval string> <interval qualifier>

在你的情況下:

select mydate + timestart * interval '1' minute from mytable;

某些 DBMS 可能允許您的列代替“間隔字符串”:

select mydate + interval timestart minute from mytable;

更新:對於 SQL Server 使用

select dateadd(minute, timestart, mydate) from mytable;

另一個更新:我剛剛看到 timestart 145 表示 1 小時 45 分鍾。 這是存儲日期時間信息的最糟糕的方式。 然后你想要另一個計算:

select dateadd(minute, timestart / 100 * 60 + timestart % 100, mydate) from mytable;

但是您真正應該做的是修復您的數據模型,並使您的日期和混淆時間成為一個日期時間列。 (好吧,也許這正是您現在正在做的事情:-)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM