15

getdate()SQL Serverで、出力を24時間形式にフォーマットするYYYYMMDDHHmmSSにはどうすればよいですか?HH

私はやっYYYYMMDD

select CONVERT(varchar,GETDATE(),112)

しかし、それは私が得た限りです。

ありがとう。

4

7 に答える 7

30

SQL Server 2012を備えたこの機能をお探しの方は、FORMAT関数を使用できます。

SELECT FORMAT ( GETDATE(), 'yyyyMMddHHmmss') AS 'Custom DateTime'

これにより、任意の.NET形式の文字列が可能になり、便利な新しい追加になります。

于 2013-10-22T10:50:29.933 に答える
21
select replace(
       replace(
       replace(convert(varchar(19), getdate(), 126),
       '-',''),
       'T',''),
       ':','')
于 2011-09-23T04:24:59.997 に答える
7

閉じますが、正確にはあなたが求めているものではありません:

select CONVERT(varchar, GETDATE(), 126)

例えば

2011-09-23T12:18:24.837

(yyyy-mm-ddThh:mi:ss.mmm(スペースなし)、タイムゾーンなしのISO8601)

参照:キャストと変換

でカスタム形式を指定する方法はありませんCONVERT()。もう1つのオプションは、文字列操作を実行して、必要な形式で作成することです。

于 2011-09-23T04:17:24.560 に答える
4

これを試して:

CONVERT(varchar、GETDATE()、120)を選択します。例:

2011-09-23 12:18:24(yyyy-mm-dd hh:mi:ss(24h)、ODBC正規)。

H番目。

于 2011-09-23T04:23:49.700 に答える
2

別のオプション!

SELECT CONVERT(nvarchar(8), GETDATE(),112) + 
   CONVERT(nvarchar(2),DATEPART(HH,GETDATE())) + 
   CONVERT(nvarchar(2),DATEPART(MI,GETDATE())) + 
   CONVERT(nvarchar(2),DATEPART(SS,GETDATE()));
于 2014-04-22T06:36:28.650 に答える
0

この方法で日時を変換するには、変換するために複数の呼び出しが必要です。これの最適な使用法は、varcharを返す関数です。

select CONVERT(varchar,GETDATE(),112) --YYYYMMDD
select CONVERT(varchar,GETDATE(),108) --HH:MM:SS

関数内でそのようにそれらをまとめます

DECLARE @result as varchar(20)
set @result = CONVERT(varchar,GETDATE(),112) + ' ' + CONVERT(varchar,GETDATE(),108)
print @result

20131220 13:15:50

Thinhbkが投稿したようにselect CONVERT(varchar,getdate(),20)、またはselect CONVERT(varchar,getdate(),120)を使用して、必要なものにかなり近づけることができます。

于 2013-12-20T18:17:03.847 に答える
-1
select CONVERT(nvarchar(8),getdate(),112) + 
case when Len(CONVERT(nvarchar(2),DATEPART(HH,getdate()))) =1 then '0' + CONVERT(nvarchar(2),DATEPART(HH,getdate())) else CONVERT(nvarchar(2),DATEPART(HH,getdate())) end +
case when Len( CONVERT(nvarchar(2),DATEPART(MI,getdate())) ) =1 then '0' + CONVERT(nvarchar(2),DATEPART(MI,getdate())) else CONVERT(nvarchar(2),DATEPART(MI,getdate())) end
于 2019-07-25T10:01:32.007 に答える