サーチ…


構文

  • EOMONTH( 開始日 [、month_to_add])

備考

https://msdn.microsoft.com/en-us/library/ms187819.aspxによるとDateTimeは3msまでしか正確ではありません。

分数秒の丸め次の表に示すように、精度の日時値は.000、.003、または.007秒の単位で四捨五入されます。

ユーザー指定の値システム保存値
01/01/98 23:59:59.999 1998-01-02 00:00:00.000
------ ------
01/01/98 23:59:59.995 1998年1月1日23:59:59.997
01/01/98 23:59:59.996
01/01/98 23:59:59.997
01/01/98 23:59:59.998
------ ------
01/01/98 23:59:59.992 1998年1月1日23:59:59.993
01/01/98 23:59:59.993
01/01/98 23:59:59.994
------ ------
01/01/98 23:59:59.990 1998年1月1日23:59:59.990
01/01/98 23:59:59.991
------ ------

さらに精度が必要な場合は、 timedatetime2またはdatetimeoffsetを使用する必要があります。

CONVERTを使用した日付と時刻の書式設定

CONVERT関数を使用して、日時データ型を書式設定された文字列にキャストできます。

SELECT GETDATE() AS [Result] -- 2016-07-21 07:56:10.927

組み込みのコードを使用して、特定の形式に変換することもできます。 SQL Serverに組み込まれているオプションは次のとおりです。

DECLARE @convert_code INT = 100 -- See Table Below
SELECT CONVERT(VARCHAR(30), GETDATE(), @convert_code) AS [Result]
@convert_code 結果
100 "Jul 21 2016 7:56 AM"
101 "07/21/2016"
102 "2016.07.21"
103 "21/07/2016"
104 "21.07.2016"
105 "21-07-2016"
106 "2016年7月21日"
107 "2016年7月21日"
108 "07:57:05"
109 "Jul 21 2016 7:57:45:707AM"
110 "07-21-2016"
111 "2016/07/21"
112 "20160721"
113 "21 Jul 2016 07:57:59:553"
114 "07:57:59:553"
120 "2016-07-21 07:57:59"
121 "2016-07-21 07:57:59.553"
126 "2016-07-21T07:58:34.340"
127 "2016-07-21T07:58:34.340"
130 "16:1437 7:58:34:340AM"
131 "16/10/1437 7:58:34:340AM"
SELECT GETDATE() AS [Result]                                -- 2016-07-21 07:56:10.927
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),100) AS [Result] -- Jul 21 2016  7:56AM
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),101) AS [Result] -- 07/21/2016
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),102) AS [Result] -- 2016.07.21
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),103) AS [Result] -- 21/07/2016
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),104) AS [Result] -- 21.07.2016
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),105) AS [Result] -- 21-07-2016
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),106) AS [Result] -- 21 Jul 2016
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),107) AS [Result] -- Jul 21, 2016
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),108) AS [Result] -- 07:57:05
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),109) AS [Result] -- Jul 21 2016  7:57:45:707AM
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),110) AS [Result] -- 07-21-2016
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),111) AS [Result] -- 2016/07/21
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),112) AS [Result] -- 20160721
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),113) AS [Result] -- 21 Jul 2016 07:57:59:553
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),114) AS [Result] -- 07:57:59:553
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),120) AS [Result] -- 2016-07-21 07:57:59
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),121) AS [Result] -- 2016-07-21 07:57:59.553
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),126) AS [Result] -- 2016-07-21T07:58:34.340
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),127) AS [Result] -- 2016-07-21T07:58:34.340
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),130) AS [Result] -- 16 ???? 1437  7:58:34:340AM
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),131) AS [Result] -- 16/10/1437  7:58:34:340AM

FORMATを使用した日付と時刻の書式設定

SQL Server 2012

新しい関数: FORMAT()利用することができます。

これを使用すると、 DATETIMEフィールドを独自のカスタムVARCHARフォーマットに変換できます。

DECLARE @Date DATETIME = '2016-09-05 00:01:02.333'

SELECT FORMAT(@Date, N'dddd, MMMM dd, yyyy hh:mm:ss tt')

2016年9月5日12:01:02 AM

引数

書式設定されているDATETIME2016-09-05 00:01:02.333場合、次の図は、提供された引数の出力を示しています。

引数出力
yyyy 2016年
yy 16
んー 9月
MM 09
M 9
dddd 月曜
ddd
DD 05
d 5
HH 00
H 0
hh 12
h 12
mm 01
m 1
SS 02
s 2
tt AM
t A
fff 333
ff 33
f 3

また、 FORMAT()関数に単一の引数を指定して、事前に書式設定された出力を生成することもできます。

DECLARE @Date DATETIME = '2016-09-05 00:01:02.333'

SELECT FORMAT(@Date, N'U')

2016年9月5日(月)4:01:02 AM

単一引数出力
D 2016年9月5日月曜日
d 2014年9月5日
F 2016年9月5日12:01:02 AM
f 2016年9月5日月曜日12:01
G 9/5/2016 12:01:02 AM
g 9/5/2016 12:01 AM
M 9月5日
O 2016-09-05T00:01:02.3330000
R 2016年9月5日(月)00:01:02 GMT
s 2016-09-05T00:01:02
T 12:01:02 AM
t 12:01午前
U 2016年9月5日(月)4:01:02 AM
あなた 2016-09-05 00:01:02Z
Y 2016年9月

注:上記のリストはen-US文化を使用しています。 3番目のパラメータを使用してFORMAT()異なるカルチャを指定できます。

DECLARE @Date DATETIME = '2016-09-05 00:01:02.333'

SELECT FORMAT(@Date, N'U', 'zh-cn')

2016年9月5日4:01:02

現在のDateTimeを取得する

組み込み関数GETDATEGETUTCDATEそれぞれ、現在の日付と時刻をタイムゾーンオフセットなしで返します。

両方の関数の戻り値は、SQL Serverのインスタンスが実行されているコンピュータのオペレーティングシステムに基づいています。

GETDATEの戻り値は、オペレーティングシステムと同じタイムゾーン内の現在の時刻を表します。 GETUTCDATEの戻り値は、現在のUTC時間を表します。

いずれの関数も、問合せのSELECT句またはWHERE句のブール式の一部として含めることができます。

例:

-- example query that selects the current time in both the server time zone and UTC
SELECT GETDATE() as SystemDateTime, GETUTCDATE() as UTCDateTime

-- example query records with EventDate in the past.
SELECT * FROM MyEvents WHERE EventDate < GETDATE() 

現在の日時のさまざまなバリエーションを返す組み込み関数がいくつかあります:

SELECT 
    GETDATE(),          --2016-07-21 14:27:37.447
    GETUTCDATE(),       --2016-07-21 18:27:37.447
    CURRENT_TIMESTAMP,  --2016-07-21 14:27:37.447
    SYSDATETIME(),      --2016-07-21 14:27:37.4485768
    SYSDATETIMEOFFSET(),--2016-07-21 14:27:37.4485768 -04:00
    SYSUTCDATETIME()    --2016-07-21 18:27:37.4485768

期間の加算と減算のためのDATEADD

一般的な構文:

DATEADD (datepart , number , datetime_expr)  

時間尺度を追加するには、 numberが正でなければなりません。時間尺度を減算するには、 numberが負でなければなりません。

DECLARE @now DATETIME2 = GETDATE();
SELECT @now;                        --2016-07-21 14:39:46.4170000
SELECT DATEADD(YEAR, 1, @now)       --2017-07-21 14:39:46.4170000
SELECT DATEADD(QUARTER, 1, @now)    --2016-10-21 14:39:46.4170000
SELECT DATEADD(WEEK, 1, @now)       --2016-07-28 14:39:46.4170000
SELECT DATEADD(DAY, 1, @now)        --2016-07-22 14:39:46.4170000
SELECT DATEADD(HOUR, 1, @now)       --2016-07-21 15:39:46.4170000
SELECT DATEADD(MINUTE, 1, @now)     --2016-07-21 14:40:46.4170000
SELECT DATEADD(SECOND, 1, @now)     --2016-07-21 14:39:47.4170000
SELECT DATEADD(MILLISECOND, 1, @now)--2016-07-21 14:39:46.4180000

注: DATEADDdatepartパラメータに略語も受け入れます。これらの略語の使用は、混乱する可能性があるため一般的には推奨されません( mmiwwwなど)。

日付パーツ参照

日付と時刻関数で使用できるdatepart値は次のとおりdatepart

datepart 略語
yy、yyyy
四半期 qq、q
うーん
日曜日 dy、y
dd、d
週間 wk、ww
平日 dw、w
時間 hh
mi、n
二番目 ss、s
ミリ秒ミズ
マイクロ秒 mcs
ナノ秒 ns

注記 :略語の使用は、混乱する可能性があるため一般的には使用しないでください( mmiwwwなど)。可能であれば( monthminuteweekweekdayなど)、 datepart表現の長いバージョンは明快さと可読性を促進します。

時間差を計算するためのDATEDIFF

一般的な構文:

DATEDIFF (datepart, datetime_expr1, datetime_expr2)

datetime_exprdatetime_expr2基準として過去にある場合は正の数を返し、そうでない場合は負の数を返します。

DECLARE @now DATETIME2 = GETDATE();
DECLARE @oneYearAgo DATETIME2 = DATEADD(YEAR, -1, @now);
SELECT @now                                    --2016-07-21 14:49:50.9800000
SELECT @oneYearAgo                             --2015-07-21 14:49:50.9800000
SELECT DATEDIFF(YEAR, @oneYearAgo, @now)       --1
SELECT DATEDIFF(QUARTER, @oneYearAgo, @now)    --4
SELECT DATEDIFF(WEEK, @oneYearAgo, @now)       --52
SELECT DATEDIFF(DAY, @oneYearAgo, @now)        --366
SELECT DATEDIFF(HOUR, @oneYearAgo, @now)       --8784
SELECT DATEDIFF(MINUTE, @oneYearAgo, @now)     --527040
SELECT DATEDIFF(SECOND, @oneYearAgo, @now)     --31622400

注: DATEDIFFでは、 datepartパラメータに略語も使用できます。これらの略語の使用は、混乱する可能性があるため一般的には推奨されません( mmiwwwなど)。

DATEDIFFを使用して、UTCとSQL Serverのローカル時刻との間のオフセットを特定することもできます。次のステートメントは、UTCと現地時間(タイムゾーンを含む)間のオフセットを計算するために使用できます。

select  DATEDIFF(hh, getutcdate(), getdate()) as 'CentralTimeOffset'

DATEPART&DATENAME

DATEPARTは、指定されたdatetime式の指定されたdatepartを数値として返します。

DATENAMEは、指定された日付の指定されたdatepartを表す文字列を戻します。実際には、 DATENAMEは月または曜日の名前を取得するのに最も便利です。

日時式の年、月、または日を取得するための短縮形関数もいくつかあります。これはそれぞれのdatepart単位でDATEPARTように動作します。

構文:

DATEPART ( datepart , datetime_expr )
DATENAME ( datepart , datetime_expr )
DAY ( datetime_expr )
MONTH ( datetime_expr )
YEAR ( datetime_expr )

例:

DECLARE @now DATETIME2 = GETDATE();
SELECT @now                       --2016-07-21 15:05:33.8370000
SELECT DATEPART(YEAR, @now)       --2016
SELECT DATEPART(QUARTER, @now)    --3
SELECT DATEPART(WEEK, @now)       --30
SELECT DATEPART(HOUR, @now)       --15
SELECT DATEPART(MINUTE, @now)     --5
SELECT DATEPART(SECOND, @now)     --33
-- Differences between DATEPART and DATENAME:
SELECT DATEPART(MONTH, @now)      --7
SELECT DATENAME(MONTH, @now)      --July
SELECT DATEPART(WEEKDAY, @now)    --5
SELECT DATENAME(WEEKDAY, @now)    --Thursday
--shorthand functions
SELECT DAY(@now)    --21
SELECT MONTH(@now)  --7
SELECT YEAR(@now)   --2016

注: DATEPARTDATENAMEは、 datepartパラメータに略語も受け入れます。これらの略語の使用は、混乱する可能性があるため一般的には推奨されません( mmiwwwなど)。

一ヶ月の最後の日を取得する

DATEADDDATEDIFF関数を使用すると、月の最後の日付を返すことができます。

SELECT DATEADD(d, -1, DATEADD(m, DATEDIFF(m, 0, '2016-09-23') + 1, 0))
-- 2016-09-30 00:00:00.000
SQL Server 2012

EOMONTH関数は、月の最後の日付を返すためのより簡潔な方法を提供し、月をオフセットするためのオプションのパラメーターを持っています。

SELECT EOMONTH('2016-07-21')        --2016-07-31
SELECT EOMONTH('2016-07-21', 4)     --2016-11-30
SELECT EOMONTH('2016-07-21', -5)    --2016-02-29

DateTimeからDateを返す

DateTimeオブジェクトからDateを返す方法はたくさんあります

  1. SELECT CONVERT(Date, GETDATE())
  2. SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE()))は、2016-07-21 00:00:00.000を返します。
  3. SELECT CAST(GETDATE() AS DATE)
  4. SELECT CONVERT(CHAR(10),GETDATE(),111)
  5. SELECT FORMAT(GETDATE(), 'yyyy-MM-dd')

オプション4と5は日付ではなく文字列を返します。

特定の日付に人の年齢を計算する関数を作成する

この関数は、2つの日時パラメータ、DOB、および年齢を確認する日付を取る

  CREATE FUNCTION [dbo].[Calc_Age]
    (
    @DOB datetime , @calcDate datetime 
    )
    RETURNS int
    AS
   BEGIN
declare @age int

IF (@calcDate < @DOB  )
RETURN -1

-- If a DOB is supplied after the comparison date, then return -1
SELECT @age = YEAR(@calcDate) - YEAR(@DOB) +
  CASE WHEN DATEADD(year,YEAR(@calcDate) - YEAR(@DOB)
  ,@DOB) > @calcDate THEN -1 ELSE 0 END
    

RETURN @age
    

END

2000年1月1日に生まれた人の今日の年齢を確認する

SELECT  dbo.Calc_Age('2000-01-01',Getdate())

CROSS PLATFORM DATE OBJECT

SQL Server 2012

Transact SQLでは、次のように[DATEFROMPARTS][1] (または[DATETIMEFROMPARTS][1] )関数を使用してオブジェクトをDate (またはDateTime )として定義できます。

 DECLARE @myDate DATE=DATEFROMPARTS(1988,11,28) 
 DECLARE @someMoment DATETIME=DATEFROMPARTS(1988,11,28,10,30,50,123)

指定するパラメーターは、 DATEFROMPARTS関数の年、月、日、 DATETIMEFROMPARTS関数の場合は年、月、日、時、分、秒、ミリ秒を指定する必要があります。

これらのメソッドは有用であり、ホストマシンの領域、場所または日付形式の設定に応じてプレーンストリングを使用して日付(またはdatetime)を作成すると失敗する可能性があるため、使用する価値があります。

日付形式の拡張

日付形式 SQL文サンプル出力
YY-MM-DD SELECT RIGHT(CONVERT(VARCHAR(10)、SYSDATETIME()、20)、8)AS [YY-MM-DD]
SELECT [YY-MM-DD]のように、SELECT REPLACE(CONVERT(VARCHAR(8)、SYSDATETIME()、11)、 '/'、 ' - '
11-06-08
YYYY-MM-DD SELECT CONVERT(VARCHAR(10)、SYSDATETIME()、120)AS [YYYY-MM-DD]
SELECT [YYYY-MM-DD] ASPLAY(CONVERT(VARCHAR(10)、SYSDATETIME()、111)、 '/'、 ' - '
2011年06月08日
YYYY-MD AS VARCHAR(2))+ ' - ' + CAST(DAY(SYSDATETIME())AS VARCHAR(2))+ ' - ' + CAST(DAY(SYSDATETIME())AS VARCHAR 2))AS [YYYY-MD] 2011-6-8
YY-MD 2)+ ' - ' + CAST(MONTH(SYSDATETIME())AS VARCHAR(2))+ ' - ' + CAST(DAY(SYSDATETIME() ))AS VARCHAR(2))AS [YY-MD] 11-6-8
MD-YYYY [VARCHAR(2))+ ' - ' + CAST(YEAR(SYSDATETIME())AS VARCHAR(2))+ ' - ' + CAST(日付(SYSDATETIME())AS VARCHAR 4))AS [MD-YYYY] 6-8-2011
MD-YY SELECT CAST(MONTH(SYSDATETIME())AS VARCHAR(2))+ ' - ' + CAST(DAY(SYSDATETIME())AS VARCHAR(2))+ ' - ' + RIGHT(CAST(YEAR(SYSDATETIME VARCHAR(4))、2)AS [MD-YY] 6-8-11
DM-YYYY (2))+ ' - ' + CAST(YEAR(SYSDATETIME())AS VARCHAR(2))+ ' - ' + CAST(月(SYSDATETIME())AS VARCHAR 4))AS [DM-YYYY] 8-6-2011
DM-YY SELECT CAST(DAY(SYSDATETIME())AS VARCHAR(2))+ ' - ' + CAST(MONTH(SYSDATETIME())AS VARCHAR(2))+ ' - ' + RIGHT(CAST(YEAR(SYSDATETIME VARCHAR(4))、2)AS [DM-YY] 8-6-11
YY-MM SELECT RIGHT(CONVERT(VARCHAR(7)、SYSDATETIME()、20)、5)AS [YY-MM]
SELECT SUBSTRING(CONVERT(VARCHAR(10)、SYSDATETIME()、120)、3,5)AS [YY-MM]
11-06
YYYY-MM SELECT CONVERT(VARCHAR(7)、SYSDATETIME()、120)AS [YYYY-MM] 2011-06
YY-M 2)+ ' - ' + CAST(月(SYSDATETIME())AS VARCHAR(2))AS [YY-M] 11-6
YYYY-M [YYYY-M] AS [VARCHAR(4))+ ' - ' + CAST(月(SYSDATETIME())AS VARCHAR(2) 2011-6
MM-YY SELECT RIGHT(CONVERT(VARCHAR(8)、SYSDATETIME()、5)、5)AS [MM-YY]
SELECT SUBSTRING(CONVERT(VARCHAR(8)、SYSDATETIME()、5)、4,5)AS [MM-YY]
06-11
MM-YYYY SELECT RIGHT(CONVERT(VARCHAR(10)、SYSDATETIME()、105)、7)AS [MM-YYYY] 06-2011
M-YY 2)AS [M-YY] AS VARCHAR(2))+ ' - ' + RIGHT(CAST(YEAR(SYSDATETIME())AS VARCHAR 6-11
M-YYYY [M-YYYY] AS VARCHAR(2))+ ' - ' + CAST(月(SYSDATETIME())AS VARCHAR(4) 6-2011
MM-DD SELECT CONVERT(VARCHAR(5)、SYSDATETIME()、10)AS [MM-DD] 06-08
DD-MM SELECT CONVERT(VARCHAR(5)、SYSDATETIME()、5)AS [DD-MM] 08-06
MD AS VARCHAR(2))+ [ - ] + CAST(DAY(SYSDATETIME())AS VARCHAR(2))AS [MD] 6-8
DM AS [DM] AS VARCHAR(2))+ ' - ' + CAST(MONTH(SYSDATETIME())AS VARCHAR(2) 8-6
M / D / YYYY [VARCHAR(2))+ '/' + CAST(YEAR(SYSDATETIME())AS VARCHAR(2))+ '/' + CAST(日付(SYSDATETIME())AS VARCHAR 4))AS [M / D / YYYY] 2011/06/8
M / D / YY SELECT CAST(MONTH(SYSDATETIME())AS VARCHAR(2))+ '/' + CAST(DAY(SYSDATETIME())AS VARCHAR(2))+ '/' + RIGHT(CAST(YEAR(SYSDATETIME())AS VARCHAR(4))、2)AS [M / D / YY] 2011/06/08
D / M / YYYY [VARCHAR(2))+ '/' + CAST(YEAR(SYSDATETIME())AS VARCHAR(2))+ '/' + CAST(月(SYSDATETIME())AS VARCHAR 4))AS [D / M / YYYY] 2011/08/6
D / M / YY SELECT CAST(DAY(SYSDATETIME())AS VARCHAR(2))+ '/' + CAST(MONTH(SYSDATETIME())AS VARCHAR(2))+ '/' + RIGHT(CAST(YEAR(SYSDATETIME VARCHAR(4))、2)AS [D / M / YY] 11/08/06
YYYY / M / D AS VARCHAR(2))+ '/' + CAST(DAY(SYSDATETIME())AS VARCHAR(4))+ '/' + CAST(月(SYSDATETIME())AS VARCHAR 2))AS [YYYY / M / D] 2011/6/8
YY / M / D 2)+ '/' + CAST(MONTH(SYSDATETIME())AS VARCHAR(2))+ '/' + CAST(DAY(SYSDATETIME() ))AS VARCHAR(2))AS [YY / M / D] 11/6/8
MM / YY SELECT RIGHT(CONVERT(VARCHAR(8)、SYSDATETIME()、3)、5)AS [MM / YY] 06/11
MM / YYYY SELECT RIGHT(CONVERT(VARCHAR(10)、SYSDATETIME()、103)、7)AS [MM / YYYY] 06/2011
M / YY 2)AS [M / YY] AS VARCHAR(2))+ '/' + RIGHT(CAST(YEAR(SYSDATETIME())AS VARCHAR 6/11
M / YYYY [M / YYYY] AS VARCHAR(2))+ '/' + CAST(YEAR(SYSDATETIME())AS VARCHAR(4) 6/2011
YY / MM SELECT CONVERT(VARCHAR(5)、SYSDATETIME()、11)AS [YY / MM] 11/06
YYYY / MM SELECT CONVERT(VARCHAR(7)、SYSDATETIME()、111)AS [YYYY / MM] 2011/06
YY / M 2)+ '/' + CAST(MONTH(SYSDATETIME())AS VARCHAR(2))AS [YY / M] 11/6
YYYY / M AS VARCHAR(2))AS [YYYY / M] + '/' + CAST(月(SYSDATETIME())AS VARCHAR(2) 2011/6
MM / DD SELECT CONVERT(VARCHAR(5)、SYSDATETIME()、1)AS [MM / DD] 06/08
DD / MM SELECT CONVERT(VARCHAR(5)、SYSDATETIME()、3)AS [DD / MM] 08/06
M / D [M / D] AS VARCHAR(2))+ '/' + CAST(日(SYSDATETIME())AS VARCHAR(2) 6/8
D / M [D / M] AS VARCHAR(2))+ '/' + CAST(MONTH(SYSDATETIME())AS VARCHAR(2) 8/6
MM.DD.YYYY SELECT REPLACE(CONVERT(VARCHAR(10)、SYSDATETIME()、101)、 '/'、 '。')AS [MM.DD.YYYY] 06.08.2011
MM.DD.YY SELECT REPLACE(CONVERT(VARCHAR(8)、SYSDATETIME()、1)、 '/'、 '。')AS [MM.DD.YY] 06.08.11
MDYYYY SELECT CAST(MONTH(SYSDATETIME())AS VARCHAR(2))+ '。' + CAST(DAY(SYSDATETIME())AS VARCHAR(2))+ '。' + CAST(YEAR(SYSDATETIME())AS VARCHAR(4))AS [MDYYYY] 6.8.2011
MDYY SELECT CAST(MONTH(SYSDATETIME())AS VARCHAR(2))+ '。' + CAST(DAY(SYSDATETIME())AS VARCHAR(2))+ '。' + RIGHT(CAST(YEAR(SYSDATETIME())AS VARCHAR(4))、2)AS [MDYY] 6.8.11
DD.MM.YYYY SELECT CONVERT(VARCHAR(10)、SYSDATETIME()、104)AS [DD.MM.YYYY] 08.06.2011
DD.MM.YY SELECT CONVERT(VARCHAR(10)、SYSDATETIME()、4)AS [DD.MM.YY] 08.06.11
DMYYYY SELECT CAST(DAY(SYSDATETIME())AS VARCHAR(2))+ '。' + CAST(MONTH(SYSDATETIME())AS VARCHAR(2))+ '。' + CAST(YEAR(SYSDATETIME())AS VARCHAR(4))AS [DMYYYY] 8.6.2011
DMYY SELECT CAST(DAY(SYSDATETIME())AS VARCHAR(2))+ '。' + CAST(MONTH(SYSDATETIME())AS VARCHAR(2))+ '。' + RIGHT(CAST(YEAR(SYSDATETIME())AS VARCHAR(4))、2)AS [DMYY] 8.6.11
YYYY.MD SELECT CAST(YEAR(SYSDATETIME())AS VARCHAR(4))+ '。' + CAST(MONTH(SYSDATETIME())AS VARCHAR(2))+ '。' + CAST(DAY(SYSDATETIME())AS VARCHAR(2))AS [YYYY.MD] 2011.6.8
YY.MD SELECT RIGHT(CAST(YEAR(SYSDATETIME())AS VARCHAR(4))、2)+ '。' + CAST(MONTH(SYSDATETIME())AS VARCHAR(2))+ '。' + CAST(DAY(SYSDATETIME())AS VARCHAR(2))AS [YY.MD] 11.6.8
MM.YYYY SELECT RIGHT(CONVERT(VARCHAR(10)、SYSDATETIME()、104)、7)AS [MM.YYYY] 06.2011
MM.YY SELECT RIGHT(CONVERT(VARCHAR(8)、SYSDATETIME()、4)、5)AS [MM.YY] 06.11
M.YYYY SELECT CAST(MONTH(SYSDATETIME())AS VARCHAR(2))+ '。' + CAST(YEAR(SYSDATETIME())AS VARCHAR(4))AS [M.YYYY] 6.2011
M.YY SELECT CAST(MONTH(SYSDATETIME())AS VARCHAR(2))+ '。' + RIGHT(CAST(YEAR(SYSDATETIME())AS VARCHAR(4))、2)AS [M.YY] 6.11
YYYY.MM SELECT CONVERT(VARCHAR(7)、SYSDATETIME()、102)AS [YYYY.MM] 2011.06
YY.MM SELECT CONVERT(VARCHAR(5)、SYSDATETIME()、2)AS [YY.MM] 11.06
YYYY.M SELECT CAST(YEAR(SYSDATETIME())AS VARCHAR(4))+ '。' + CAST(MONTH(SYSDATETIME())AS VARCHAR(2))AS [YYYY.M] 2011.6
YY.M SELECT RIGHT(CAST(YEAR(SYSDATETIME())AS VARCHAR(4))、2)+ '。' + CAST(MONTH(SYSDATETIME())AS VARCHAR(2))AS [YY.M] 11.6
MM.DD SELECT RIGHT(CONVERT(VARCHAR(8)、SYSDATETIME()、2)、5)AS [MM.DD] 06.08
DD.MM SELECT CONVERT(VARCHAR(5)、SYSDATETIME()、4)AS [DD.MM] 08.06
MMDDYYYY SELECT REPLACE(CONVERT(VARCHAR(10)、SYSDATETIME()、101)、 '/'、 '')AS [MMDDYYYY] 06082011
MMDDYY SELECT REPLACE(CONVERT(VARCHAR(8)、SYSDATETIME()、1)、 '/'、 '')AS [MMDDYY] 060811
DDMMYYYY SELECT REPLACE(CONVERT(VARCHAR(10)、SYSDATETIME()、103)、 '/'、 '')AS [DDMMYYYY] 08062011
DDMMYY SELECT REPLACE(CONVERT(VARCHAR(8)、SYSDATETIME()、3)、 '/'、 '')AS [DDMMYY] 080611
MMYYYY SELECT RIGHT(置換(VARCHAR(10)、SYSDATETIME()、103)、 '/'、 '')6)AS [MMYYYY] 062011
MMYY SELECT RIGHT(REPLACE(CONVERT(VARCHAR(8)、SYSDATETIME()、3)、 '/'、 '')、4)AS [MMYY] 0611
YYYYMM SELECT CONVERT(VARCHAR(6)、SYSDATETIME()、112)AS [YYYYMM] 201106
YYMM SELECT CONVERT(VARCHAR(4)、SYSDATETIME()、12)AS [YYMM] 1106
月DD、YYYY 2)+ '、' + DATENAME(YEAR、SYSDATETIME())AS [月DD、YYYY]選択された日付(MONTH、SYSDATETIME())+ '右+(' 0 '+ DATENAME(DAY、SYSDATETIME 2011年6月8日
月YYYY (月)、SYSDATETIME())、3)+ '' + DATENAME(YEAR、SYSDATETIME())AS [Mon YYYY] 2011年6月
月YYYY (月)、SYSDATETIME())+ '' + DATENAME(YEAR、SYSDATETIME())AS [月間YYYY] 2011年6月
DD月間 2)+ 'DATENAME(MONTH、SYSDATETIME())AS [DD Month](DD月) 6月8日
月DD 2)AS [Month DD](月)、SYSDATETIME())+ '' + RIGHT( '0' + DATENAME(DAY、SYSDATETIME() 6月8日
DD月間YY CAST(YEAR(SYSDATETIME())AS VARCHAR(4))、2)CAST(DAY(SYSDATETIME())AS VARCHAR(2))+ '+ + DATENAME AS [DD月YY] 08年11月8日
DD月間YYYY [DD Month YYYY] + DATENAME(YEAR、SYSDATETIME())と同様に、右( '0' + DATENAME(DAY、SYSDATETIME())、2)+ 'DATENAME(月、SYSDATETIME())+ 2011年6月8日
Mon-YY SELECT REPLACE(RIGHT(CONVERT(VARCHAR(9)、SYSDATETIME()、6)、6)、 ''、 ' - ')AS [Mon-YY] Jun-08
月-YYYY SELECT REPLACE(RIGHT(CONVERT(VARCHAR(11)、SYSDATETIME()、106)、8)、 ''、 ' - ')AS [Mon-YYYY] 2011年6月
DD-Mon-YY SELECT [SYSDATETIME()、CONVERT(9)、SYSDATETIME()、6)、 ''、 ' - ')AS [DD-Mon-YY] 08-Jun-11
DD-Mon-YYYY SELECT [DD-Mon-YYYY]のように、SELECT REPLACE(CONVERT(VARCHAR(11)、SYSDATETIME()、106)、 ''、 ' - 2011年6月8日


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow