2011-12-13 9 views
1

私は、日付時間フィールドで構成されるテーブル・プロセスを持っています。私が取得するために、出力テーブルからの別の時間SQL

Output 
12:01 
12:03 

で受信する必要が私は秒

For Example 

ID  RunDate 
1   2011-12-13 12:36:26.483 
2   2011-12-12 12:37:22.421 
3   2011-12-11 12:36:44.421 

がなければ時間としてRunDateで個別に実行する必要があります

Proccesses(intとしてID、日時などRunDate) それ私次のSQLを使用して、それが

SELECT DISTINCT DATENAME(hour, RunDateTime) + ':' + 
DATENAME(mi, RunDateTime) AS d 
from Proccesses 

Pを働いています8、と私は12を受信する必要があります:分は私が一桁「8」を受ける例8 のために10未満である、と私は例えば2桁の08

を受信したい場合、私は12を受け取ることroblem 08

答えて

1

また、あなたがCONVERTを使用することができますし、それに応じて文字列の結果を処理

SELECT DISTINCT 
RIGHT ('00' + CAST(DATENAME(hour, RunDateTime) AS VARCHAR(2)), 2) + ':' + 
RIGHT ('00' + CAST(DATENAME(mi, RunDateTime) AS VARCHAR(2)), 2) 
from Proccesses 

を試してみてください...

編集:CONVERTオプションを使用して終了する場合は、the answer from Joe Stefanelliをアップしてください。

+0

あなたの答えを編集してCONVERTを提案することをお勧めします。私はそれを考えてほしかった。ああ待って、[私は](http://stackoverflow.com/a/8495969/341251)。 ;-) –

+1

はい - あなたはしました...私はただグーグルでそれを私の答えに貼り付けました...あなたはCONVERTで作業サンプルを提供してから私がしなかったので、私のペーストはあなたほど徹底していませんでした。私は別のEDITを追加しました:-) – Yahia

0

CONVERTスタイル108は、hh:mm:ssを返します。データ型にCHAR(5)を使用すると、hh:mm部分だけが返されます。

SELECT DISTINCT CONVERT(CHAR(5), RunDateTime, 108) AS d 
    FROM Processes 
0
SELECT RIGHT(CONVERT(VARCHAR,RunDateTime),7) 

あなたがしたい場合には、AM/PMのストリップがあります。

関連する問題