2011-12-20 13 views
1

私は小さなテーブルにSQL PM AM結果

Create Table TestDates 
(
    TestDateId int identity (1,1), 
    RunDateTime DateTime 
) 

を持って、私は

SELECT DISTINCT 
DATENAME(hour, RunDateTime) + ':' + 
DATENAME(mi, RunDateTime) AS DistinctDate 
from TestDates 

だけの時間をもたらします。しかし、私がする必要がある明確なクエリを実行するために管理し、データの下

Insert into TestDates 
(RunDateTime) 
Values 
(getdate()) 

Insert into TestDates 
(RunDateTime) 
Values 
(DATEADD(DAY, -1, GETDATE())) 

Insert into TestDates 
(RunDateTime) 
Values 
(DATEADD(DAY, -2, GETDATE())) 

Insert into TestDates 
(RunDateTime) 
Values 
(DATEADD(DAY, -3, GETDATE())) 

Insert into TestDates 
(RunDateTime) 
Values 
(DATEADD(Hour, -34, GETDATE())) 

Insert into TestDates 
(RunDateTime) 
Values 
(DATEADD(Hour, -12, GETDATE())) 

を参照してください。 PM/AMで時間を示します。

所望の出力

Current Output  Desired Output 

10:33    **10:33 AM** 
20:31    **08:31 PM** 
8:33     **08:33 AM** 

で参照してください。このクエリは、あなたにAM/PMの一部を取得し

答えて

2
select distinct substring(convert(varchar(20),RunDateTime, 9), 13, 5) +' ' 
+ substring(convert(varchar(30),RunDateTime, 9), 25, 2) from 
TestDates; 

テストされています。あなたに与える次のような結果

1:21 AM

11:21

23:21

0

をアドバイスしてください:

REVERSE(SUBSTRING(REVERSE(CONVERT(CHAR(26), getdate(),109)),1,2)) 
+0

希望する結果をすべてのクエリに投稿できますか? –

2

あなたが確信している場合は、サーバー上で書式設定したいと思いますフォーマット機能を使用することを検討してください。 Is there a way to get dates with custom formats in SQL Server?を参照してください。あなたは

right(convert(varchar, RunDateTime, 100), 7) 

編集を試すことができます

または、:

select distinct right(convert(varchar, RunDateTime, 100), 7) 
from TestDates 
+0

すべてのクエリを目的の結果で投稿できますか –

+1

@GregoryNozik冗談ですか?ああ待って、あなたの[プロフィール](http://stackoverflow.com/users/940340/gregory-nozik)に非常に記載されている。おそらくあなたは冗談ではないでしょう。編集を参照してください。 – GSerg

1
SELECT DISTINCT SUBSTRING(CONVERT(varchar, RunDateTime, 100), 13, 2) + ':' 
+ SUBSTRING(CONVERT(varchar, RunDateTime, 100), 16, 2) + ' ' 
+ SUBSTRING(CONVERT(varchar, RunDateTime, 100), 18, 2) AS DistinctDate 
from TestDates 
1

あなたはSQL 2008上にある場合は、この操作を行うことができます。

select convert(nvarchar, cast(RunDateTime as time), 100) from TestDates 

出力は次のとおりです。

9:31AM 
9:31AM 
9:31AM 
9:31AM 
11:31PM 
9:31PM 
関連する問題