HH:mm tt
形式でSQL Server 2005の日付時刻から時刻部分を取得する方法
例えば。
11:25 AM
14:36 PM
1つの方法は次のとおりです。
SELECT LTRIM(RIGHT(CONVERT(VARCHAR(20), GETDATE(), 100), 7))
Books Online here をご覧になっている場合、フォーマット100は、希望するフォーマットの時間要素を持っているものです。これは、日付を前面から取り除くだけの場合です。
HH:mm時間を取得するためとAM/PMを取得するための2つの変換が必要です。例えば:
declare @date datetime
set @date = '20:01'
SELECT CONVERT(VARCHAR(5), @date, 108) + ' ' +
SUBSTRING(CONVERT(VARCHAR(19), @date, 100),18,2)
これは印刷します:
20:01 PM
選択クエリで、@ dateを列の名前に置き換えます。
SQL Server 2008
SELECT
CONVERT(TIME,GETDATE()) AS HourMinuteSecond,
CONVERT(DATE,GETDATE(),101) AS DateOnly
GO
結果
HourMinuteSecond: 13:06:56.5770000
DateOnly: 2012-07-26
SQL Server 2000/2005
SELECT
CONVERT(VARCHAR(8),GETDATE(),108) AS HourMinuteSecond,
CONVERT(VARCHAR(8),GETDATE(),101) AS DateOnly
GO
select substring(CONVERT(VARCHAR, getdate(), 114),1,5)
再犯:22:05
SQL Server 2008
SELECT
CONVERT(TIME,GETDATE()) AS HourMinuteSecond,
CONVERT(DATE,GETDATE(),101) AS DateOnly
GO
結果:
HourMinuteSecond: 13:06:56.5770000
DateOnly: 2012-07-26
SQL Server 2000/2005
SELECT
CONVERT(VARCHAR(8),GETDATE(),108) AS HourMinuteSecond,
CONVERT(VARCHAR(8),GETDATE(),101) AS DateOnly
GO
select cast(getdate() as time)) [time],
これにより、varcharではなく実際のdatetimeが得られます
CAST(LEFT(YOURDATETIME,12) AS SMALLDATETIME) AS YOURNEWDATE
CONVERT
関数を使用する必要があります。
CONVERT(VARCHAR, yourdatetimefiled, 114) AS [HH:MI(12H)]
select right(convert(char(20),getdate(),0),7)
チェックなし