web-dev-qa-db-ja.com

SQLでDateTime形式から時刻を取得する方法

SQL Server 2005および2008を使用したSQLクエリを使用して、DateTime列からTimeのみを取得したい。デフォルトの出力:

AttDate                   
==
2011-02-09 13:09:00    
2011-02-09 14:10:00    

私はこの出力が欲しいのですが:

AttDate                Time 
==
2011-02-09 13:09:00    13:09
2011-02-09 14:10:00    14:10
154
Jig12

SQL Server 2008

select cast(AttDate as time) [time]
from yourtable

以前のバージョン

select convert(char(5), AttDate, 108) [time]
from yourtable
300
t-clausen.dk

Sqlサーバを想定

SELECT CONVERT(VARCHAR(8),GETDATE(),108)

30
V4Vendetta

SQL Server 2008+には "time"データ型があります

SELECT 
    ..., CAST(MyDateTimeCol AS time)
FROM
   ...

古いバージョンの場合、 なし varchar変換

SELECT 
    ..., DATEADD(dd, DATEDIFF(dd, MyDateTimeCol, 0), MyDateTimeCol)
FROM
   ...
19
gbn

ミリ秒スタックなしでdatetimeから時刻を取得する最も簡単な方法は、次のとおりです。

SELECT convert(time(0),getDate())
9
BigDaddy

これを使ってみる

  • 日付から時刻

    select cast(getdate() as time(0))
    
  • TinyTimeまでの時間

    select cast(orig_time as time(0))
    
8
Cantarero

これを試してください、それは動作します:

CONVERT(VARCHAR(8),DATETIME,114)

あなたの reference のために。

3
user8498521

これを試して:

select  convert(nvarchar,CAST(getdate()as time),100)
3
Balaji N

select AttDate,convert(char(5), AttDate, 108) [Time] from yourTableName

2
sagar Shah

私はよくDateTimeからTimeを取得するためにこのスクリプトを使います。

SELECT CONVERT(VARCHAR(9),RIGHT(YOURCOLUMN_DATETIME,9),108) FROM YOURTABLE
2
ChinoNoypi

日時から時刻を取得するには、

SELECT CONVERT(VARCHAR(20), GETDATE(), 114)
1
thevan
select cast (as time(0))

良い句になります。例えば:

(select cast(start_date as time(0))) AS 'START TIME'
1
Metin Özsoy

このスタイルの何かをデートしたい場合は、2013年10月23日10:30です。

これを使って

SELECT CONVERT(NVARCHAR(30),getdate(), 100)

convert()メソッドは3つのパラメータを取ります

  1. データ・タイプ
  2. 列/値
  3. スタイル:利用可能なスタイルは100から114です。あなたはから範囲内で選択することができます。日付形式を変更するには、1つずつ選択してください。
1
Arif Ansari

サーバーの日付を取得

SELECT LTRIM(RIGHT(CONVERT(VARCHAR(20), GETDATE(), 100), 7)) FROM TABLENAME WHERE ...

または

テーブルに格納されている場合

SELECT LTRIM(RIGHT(CONVERT(VARCHAR(20), datename, 100), 7)) FROM TABLENAME WHERE ...

結果:

11:41 AM