我有一個表格,其持續時間作爲包含分鐘總和的列,我想將所有持續時間轉換爲HH:MM格式。
分鐘通過更新查詢轉換爲HH:MM格式
ECode Duration
101 186
102 1446
103 1116
輸出應該是這樣的:
ECode Duration
101 3.06
102 24.06
103 18.36
我想用一個更新語句來做到這一點,要更新所有這樣的行。 尋找可能會削弱我的問題的查詢。提前感謝。
我有一個表格,其持續時間作爲包含分鐘總和的列,我想將所有持續時間轉換爲HH:MM格式。
分鐘通過更新查詢轉換爲HH:MM格式
ECode Duration
101 186
102 1446
103 1116
輸出應該是這樣的:
ECode Duration
101 3.06
102 24.06
103 18.36
我想用一個更新語句來做到這一點,要更新所有這樣的行。 尋找可能會削弱我的問題的查詢。提前感謝。
也許是這樣的:
WITH CTE
AS
(
SELECT
ECode,
CAST(Duration AS INT) AS Duration
FROM
YourTable
)
SELECT
SELECT CAST(Duration/ 60 AS VARCHAR(10)) + '.'
+ RIGHT('0' + CAST(Duration % 60 AS VARCHAR(2)), 2) AS Duration
FROM
CTE
的一種方法如下:
SELECT ECode
CAST(Duration/ 60 AS VARCHAR(10)) + '.'
+ RIGHT('0' + CAST(Duration % 60 AS VARCHAR(2)), 2) AS Duration
FROM YourTable
我mGetting SQL Server 2008中的錯誤嘗試此查詢時,錯誤消息是「數據類型float和int在模運算符不兼容」。 – Dharmendra 2012-03-01 12:07:43
@Dharmendra - 聽起來像你的持續時間欄是FLOAT呢?您可以嘗試在持續時間周圍應用CAST - 例如, 「CAST(Duration AS INT)」代替在我的例子中對「持續時間」的每個引用 – AdaTheDev 2012-03-01 12:28:27
的可能重複[十進制轉換爲HH:MM轉換](http://stackoverflow.com/questions/9513851/decimal-to-hhmm-conversion) – 2012-03-01 12:25:19
你應該可以用你的其他問題給出的例子來解決它。如果沒有,發佈你已經嘗試過的東西以及你卡在哪裏。這開始看起來非常像*給我codez * – 2012-03-01 12:27:39