2016-07-18 5 views
-1

smallntを時刻形式に変換しようとしています。SmallIntからTimeに変換する

時刻データ型をサポートしていないSQL Server 2005を使用しています。

私は1400として時間を保存しています。私はそれを時間形式に変換したいと思っています。そのような14:00

任意のアイデアや問題に関するガイダンス。もっと簡単な方法がある場合や、私が試みている方法が可能な場合は?

おかげ

+1

これをvarchar「14:00」に変換しますか?どのようにこれを変換したいですか? – Siyual

+1

「時間形式」は正確にはどういう意味ですか? SQL 2005では 'time'データ型を返すことができないので、varcharが必要ですか?日時? –

+0

tbh、決定を下す前に可能な方法を見つけ出す@TabAlleman –

答えて

2

あなたはこれを使用してvarcharとして結果を得ることができます。

SELECT 
    RIGHT('0' + CONVERT(varchar(10), yourTime/100), 2) + ':' + 
    RIGHT('0' + CONVERT(varchar(10), yourTime % 100), 2) As timeString 
FROM 
    yourTable 

をまた、このようなDATETIME形式で結果を持つことができますで

SELECT 
    CONVERT(datetime, CONVERT(varchar(10), yourTime/100)+ ':' + CONVERT(varchar(10), yourTime % 100)) 
FROM 
    yourTable 

をSQL Server 2012以降では、時間形式で結果を得ることができます:

SELECT 
    TIMEFROMPARTS(yourTime/100, yourTime % 100, 0, 0, 0) As timeFormat 
FROM 
    yourTable 
+0

OPさんは、彼が「TIME」データ型をサポートしていないSQL Server 2005を使用しているという質問に特に言及しています。 – Siyual

+0

私のdvではなく、 'TIMEFROMPARTS'は2005年に利用できません。 –

+0

@MartinSmith私は[SQL Server 2012](https://msdn.microsoft.com/en-us/library/hh213398(v = sql.110).aspx);)。 –

関連する問題