私はNUMERIC(5,2)データを含む列を持っています。データは、シフト開始時間を表す。いくつかの例は、6.30,10.30,13.30および15.30である。これを時間に変換する最良の方法は何ですか?私は別のフィールドに対して時間計算を行うことができますか?もう1つのフィールドは日時フィールドです。数値を時刻に変換する
編集:値は時間を表します。たとえば、6.30 = 06:30、15.30 = 03:30 PM。
私はNUMERIC(5,2)データを含む列を持っています。データは、シフト開始時間を表す。いくつかの例は、6.30,10.30,13.30および15.30である。これを時間に変換する最良の方法は何ですか?私は別のフィールドに対して時間計算を行うことができますか?もう1つのフィールドは日時フィールドです。数値を時刻に変換する
編集:値は時間を表します。たとえば、6.30 = 06:30、15.30 = 03:30 PM。
あなたはこのような何かを行うことができます。
select dateadd(minute, floor(col) * 60 + (col % 1) * 100, 0)
これはどうやって説明できますか? –
@YogeshSharma 。 。それは2つの部分に分けられます.1つは1時間分、もう1つは分です。これは、各パーツを分に変換し、それを使って時間を作成します。 –
はcolon(:)
とdot(.)
を交換し、あなたの時間の列と比較します。 timecol
を考慮し
select *
from yourtable
Where timecol = replace(numericcol,'.',':')
はRHSが暗黙的にtime
に変換されます、データ型time
です。
'6.3'は' 6:30'ではなく '6:03'に変換されます。 –
これらの値は何を表していますか? –
DBスキーマへのアクセス権がないと思われたり、[TIMEフィールド](https://technet.microsoft.com/en-us/library/bb677243(v = sql.110).aspx)代わりに。 – Powerlord
@powerlord根本的な原因を解決しようとしていますが、サードパーティベンダーのデータベースを使用している会社のアウトソーシングレポートを作成しています。したがって、この例では、いいえ。 – chrj15