2017-10-11 9 views
0

SQL Server 2008テーブルにtime列があります。私はhh:mmのみを選択し、ssの部分を削除したい(秒)。SQL Server 2008の時間列からhh:mm部分のみを選択します。

これに加えて、データ型として時刻を返したいので、varcharに変換したくありません。

どうすればよいですか?

+0

どのデータベースを使用していますか?これまでに何を試しましたか?文字列にhh:mm:ssが格納されていますか? – saitejalakkimsetty

+0

[DateTimeからのみ時と分を取得する方法](https://stackoverflow.com/questions/27979307/how-to-get-hour-and-minute-only-from-a-datetime)の可能な複製 –

+0

データベース:SQL 2008、私はvarcharに変換しようとしましたが、フロントエンドはtimespanを使用しているので、エラーがスローされます。私は時間のデータ型が必要ですが、HH:MM – dinesh

答えて

0

あなたは日付要素組み込み関数を使用することができます(私はchekedとSQL 2008で提供されてきた)

SELECT cast(DATEPART(hour, MyDateColumn) as varchar) + ':' + cast(DATEPART(minute, MyDateColumn) as varchar) from MyTeable 

私はそれが役に立てば幸い、

フアン

EDIT: 時間価値が必要な場合は、次のように変換できます。

SELECT CONVERT(TIME, 
     cast(DATEPART(hour, MyDateColumn) as varchar) 
     + ':' 
     + cast(DATEPART(minute, MyDateColumn) as varchar) 
     ) 
from MyTable 
あなたが使用できる10
+0

thx jaunが必要ですが、フロントエンドはtimespanを使用してエラーをスローし、フロントエンドを変更したくないので、varcharに変換したくありません – dinesh

+0

それは別です問題は、フロントエンドレイヤーからデータアクセスレイヤーに直接アクセスすべきではないということをappartに教えてください...あなたのコードでタイムスパンに再びキャストすることはできませんか? (私はtimespanを返すために別のキャストを探すつもりです、私は3分で私の答えを編集します) – Juan

+0

上記の答えは私が試したものですが、時間に変換すると、09:00:00.0000000、これは私たちが必要とするものではありません – dinesh

0

、VARCHARおよび108は、getは、hhのための使用であるために

CONVERT(DATETIME, CONVERT(VARCHAR(5),table.time,108), ,table.time) AS [Time]

0

変換:mm:ssのが、VARCHAR(5)HHの取得を使用した:MM、その後の時間に

を変換します
SELECT convert(time,CONVERT(VARCHAR(5),getdate(),108)) 
+0

Ronak、再び時間に変換しようとすると、hh:mm:ss – dinesh

+0

に変換され、上記のクエリを実行すると09:00:00.0000000が返されます – dinesh

関連する問題