1. ホーム
  2. sql-server

[解決済み] ミリタリータイムを使用するDatetimeフィールド - 標準時間のみが必要です。

2022-02-19 16:44:44

質問

SQL Server 2008で、日付と時刻をミリタリー形式(または国際形式)で保存するdatetimeフィールドがあるのですが、このフィールドを使用することはできますか?

の例です。

2011-02-15 10:00:00.000
2011-02-15 15:30:00.000
2011-02-15 17:30:00.000

標準的な米国時間フォーマットで、この中の時間だけの部分を取得する必要があります。

そこで

2011-02-15 10:00:00.000    needs to become 10:00 AM
2011-02-15 15:30:00.000    needs to become 3:30 PM
2011-02-15 17:30:00.000    needs to become 5:30 PM

私はT-SQLでこれを達成するための最良の方法を探していますお願いします。

解決方法を教えてください。

一つの方法として

varcharに変換すると、次のようになります。

Select CONVERT(varchar, @dt, 100) -- where @dt is your date time

2011年2月15日 15:30PM

その後、日付を削除し、右から7文字を取得します。これは最大で、TRIMは追加の安全のために追加されますが、おそらく必要ないでしょう。

Select LTRIM(RIGHT(CONVERT(varchar, @dt, 100),7))

3:30PMにお渡しします

サイドノート デナリ を使うと、マジックナンバーが不要になり、より簡単になります。