のようなSQLステートメントを使用した日付文字列が必要です。
select getDate()
これは戻ります2010-06-08 16:31:47.667
しかし、私はこの形式で必要です201006081631
=yyyymmddhoursmin
どうすればこれを入手できますか?
ありがとう
のようなSQLステートメントを使用した日付文字列が必要です。
select getDate()
これは戻ります2010-06-08 16:31:47.667
しかし、私はこの形式で必要です201006081631
=yyyymmddhoursmin
どうすればこれを入手できますか?
ありがとう
一方通行
select left(replace(replace(replace(
convert(varchar(30),getDate(),120),' ',''),'-',''),':',''),12)
またはこのように
select replace(replace(replace(
convert(varchar(16),getDate(),120),' ',''),'-',''),':','')
また
select convert(varchar(8), getdate(),112) +
(replace(convert(varchar(5), getdate(),108),':',''))
別の方法...
DECLARE @d DATETIME
SELECT @d = '2010-06-09 1:37:58.030'
Select Convert(BigInt, 100000000) * Year(@d)
+ Month(@d) * 1000000
+ Day(@d) * 10000
+ DatePart(Hour, @d) * 100
+ DatePart(Minute, @d)
ここで返されるデータ型はBigIntです。
DATEPARTの使用:
SELECT CAST(DATEPART(yyyy, x.dt) AS VARCHAR(4)) +
CASE WHEN DATEPART(mm, x.dt) < 10 THEN '0'+ CAST(DATEPART(mm, x.dt) AS VARCHAR(1)) ELSE CAST(DATEPART(mm, x.dt) AS VARCHAR(2)) END +
CASE WHEN DATEPART(dd, x.dt) < 10 THEN '0'+ CAST(DATEPART(dd, x.dt) AS VARCHAR(1)) ELSE CAST(DATEPART(dd, x.dt) AS VARCHAR(2)) END +
CASE WHEN DATEPART(hh, x.dt) < 10 THEN '0'+ CAST(DATEPART(hh, x.dt) AS VARCHAR(1)) ELSE CAST(DATEPART(hh, x.dt) AS VARCHAR(2)) END +
CASE WHEN DATEPART(mi, x.dt) < 10 THEN '0'+ CAST(DATEPART(mi, x.dt) AS VARCHAR(1)) ELSE CAST(DATEPART(mi, x.dt) AS VARCHAR(2)) END
FROM (SELECT '2010-06-08 16:31:47.667' dt) x
SQL Server 2005+の場合、日付をフォーマットするためのCLR関数の作成を検討します。C#DateTime.ToString()は、日付をフォーマットするためのより通常の手段の提供をサポートしています。