web-dev-qa-db-ja.com

'HH:mm tt'形式でSQL Server 2005の日付時刻から時刻部分を取得する方法

HH:mm tt形式でSQL Server 2005の日付時刻から時刻部分を取得する方法

例えば。

11:25 AM
14:36 PM
18
Azhar

1つの方法は次のとおりです。

SELECT LTRIM(RIGHT(CONVERT(VARCHAR(20), GETDATE(), 100), 7))

Books Online here をご覧になっている場合、フォーマット100は、希望するフォーマットの時間要素を持っているものです。これは、日付を前面から取り除くだけの場合です。

26
AdaTheDev

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を列の名前に置き換えます。

9
Andomar

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

http://blog.sqlauthority.com/2009/08/06/sql-server-get-time-in-hourminute-format-from-a-datetime-get-date-part-only-from-日時/

select substring(CONVERT(VARCHAR, getdate(), 114),1,5)

再犯:22:05

2
test

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
2
M.Mohammadi
select cast(getdate() as time)) [time],
1

これにより、varcharではなく実際のdatetimeが得られます

CAST(LEFT(YOURDATETIME,12) AS SMALLDATETIME) AS YOURNEWDATE
1
Frank C

CONVERT関数を使用する必要があります。

CONVERT(VARCHAR, yourdatetimefiled, 114) AS [HH:MI(12H)]
1
Anax
select right(convert(char(20),getdate(),0),7)

チェックなし

0
Salil