私のサンプルクエリは
SELECT D30.SPGD30_LAST_TOUCH_Y
from CSPGD30_TRACKING D30
私の与えられた日付形式は"2013-01-01 00:00:00.000"
のようなものです。この日付形式を"mm/dd/yyyy hh:mm AM/PM"
に変換する必要があります。それについて何かご存知ですか?
両方を提供する単一の形式はないと思います。 Convert
;を使用してこれを試してください。 Sql-Demo
declare @mydate datetime = getdate()
select convert(varchar(10),@mydate, 101) + right(convert(varchar(32),@mydate,100),8)
| COLUMN_0 |
----------------------
| 02/22/2013 9:36AM |
FORMAT()関数は、バージョン2012以降で使用できます。アップグレードしたら、使用できます
select FORMAT(@date,'MM/dd/yyyy hh:mm:s tt')
これを使って
select CONVERT(VARCHAR(10), mydate, 101) + ' ' + RIGHT(CONVERT(VARCHAR, mydate, 100), 7) from tablename
これを試して
SELECT convert(varchar(20), GetDate(), 0);
AM/PMのみを抽出するには
substring(convert(varchar(30), GetDate(), 9), 25, 2);
日付、時刻、日、月、年、時間、分、秒、AM/PMを取得するには、次のシナリオを使用します
:)
SELECT UpdatedOn ,
CONVERT(varchar,UpdatedOn,100) DateTime,
CONVERT(varchar,UpdatedOn,10) Date ,
CONVERT(varchar,UpdatedOn,108) Time ,
substring(CONVERT(varchar,UpdatedOn,106),1,2) Day,
substring(CONVERT(varchar,UpdatedOn,106),4,3) CMonth,
substring(CONVERT(varchar,UpdatedOn,105),4,2) NMonth,
substring(CONVERT(varchar,UpdatedOn,106),8,4) Year,
left(right(CONVERT(varchar,UpdatedOn,100),7),2) Hours_12,
substring(CONVERT(varchar,UpdatedOn,108),1,2) Hours_24,
substring(CONVERT(varchar,UpdatedOn,108),4,2) Minutes,
substring(CONVERT(varchar,UpdatedOn,108),7,2) Second,
right(CONVERT(varchar,UpdatedOn,100),2) AM_PM
FROM dbo.DeviceAssignSim
WHERE AssignSimId=55;
convert
メソッドを使用して、datetime
値をフォーマットします。例:
select convert(varchar(20), D30.SPGD30_LAST_TOUCH_Y, 101)
3番目のパラメーターは形式を決定します。利用可能なフォーマットは ドキュメントのキャストと変換 にあります。