Sök…


Syntax

  • EOMONTH ( startdatum [, månad_till_add])

Anmärkningar

enligt https://msdn.microsoft.com/en-us/library/ms187819.aspx , DateTime s är bara exakta till 3ms.

Avrundning av datatids Fraktionella sekundvärden för precisionsdatum avrundas till steg om 0,000, 0,003 eller 0,007 sekunder, som visas i följande tabell.

Användarspecificerat värde Systemlagrat värde
01/01/98 23: 59: 59.999 1998-01-02 00: 00: 00.000
------ ------
01/01/98 23: 59: 59.995 1998-01-01 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-01-01 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-01-01 23: 59: 59.990
01/01/98 23: 59: 59.991
------ ------

Om mer precision krävs, datetime2 time , datetime2 eller datetimeoffset användas.

Datum och tid formatering med CONVERT

Du kan använda CONVERT-funktionen för att kasta en datatyp i en formaterad sträng.

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

Du kan också använda några inbyggda koder för att konvertera till ett specifikt format. Här är alternativen inbyggda i SQL Server:

DECLARE @convert_code INT = 100 -- See Table Below
SELECT CONVERT(VARCHAR(30), GETDATE(), @convert_code) AS [Result]
@convert_code Resultat
100 "21 juli 2016 07:56"
101 "2016/07/21"
102 "2016/07/21"
103 "21/07/2016"
104 "2016/07/21"
105 "21-07-2016"
106 "21 jul 2016"
107 "21 juli 2016"
108 "7:57:05"
109 "21 jul 2016 7: 57: 45: 707AM"
110 "2016/07/21"
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

Datum och tidformatering med FORMAT

SQL Server 2012

Du kan använda den nya funktionen: FORMAT() .

Med detta kan du omvandla dina DATETIME fält till ditt eget anpassade VARCHAR format.

Exempel

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

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

Måndag 5 september 2016 12:01:02

Argument

Med tanke på att DATETIME som formateras är 2016-09-05 00:01:02.333 , visar följande diagram vad deras output skulle vara för det angivna argumentet.

Argument Produktion
yyyy 2016
yy 16
MMMM september
MM 09
M 9
dddd måndag
ddd Mon
dd 05
d 5
HH 00
H 0
hh 12
h 12
mm 01
m 1
ss 02
s 2
tt AM
t EN
fff 333
ff 33
f 3

Du kan också tillhandahålla ett enda argument till funktionen FORMAT() att generera en förformaterad utgång:

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

SELECT FORMAT(@Date, N'U')

Måndag 5 september 2016 04:01:02

Enstaka argument Produktion
D Måndag 5 september 2016
d 2016/09/05
F Måndag 5 september 2016 12:01:02
f Måndag 5 september 2016 12:01
G 9/5/2016 12:01:02
g 9/5/2016 12:01
M 05 september
O 2016-09-05T00: 01: 02,3330000
R Man 5 september 2016 00:01:02 GMT
s 2016-09-05T00: 01: 02
T 12:01:02
t 12:01
U Måndag 5 september 2016 04:01:02
u 2016-09-05 00: 01: 02Z
Y September 2016

Obs: Listan ovan använder en-US kulturen. En annan kultur kan specificeras för FORMAT() via den tredje parametern:

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

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

2016 年 9 月 5 日 4:01:02

Hämta den aktuella DateTime

De inbyggda funktionerna GETDATE och GETUTCDATE returnerar var och en aktuellt datum och tid utan en tidszonförskjutning.

Returvärdet för båda funktionerna är baserat på operativsystemet på den dator som förekomsten av SQL Server körs på.

Returvärdet för GETDATE representerar den aktuella tiden i samma tidszon som operativsystemet. Returvärdet för GETUTCDATE representerar aktuell UTC-tid.

Endera funktionen kan inkluderas i SELECT klausulen i en fråga eller som del av booleskt uttryck i WHERE klausulen.

Exempel:

-- 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() 

Det finns några andra inbyggda funktioner som returnerar olika variationer av det aktuella datumet:

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 för att lägga till och subtrahera tidsperioder

Allmän syntax:

DATEADD (datepart , number , datetime_expr)  

För att lägga till en tidsmätning måste number vara positivt. För att subtrahera en tidsmätning måste number vara negativt.

exempel

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

OBS: DATEADD accepterar också förkortningar i parametern datepart . Användning av dessa förkortningar avlägsnas generellt eftersom de kan vara förvirrande ( m vs mi , ww vs w , etc.).

Datum för referens

Dessa är datepart tillgängliga för datepart och tidsfunktioner:

datepart förkortningar
år yy, yyyy
fjärdedel qq, q
månad mm, m
dayofyear dy, y
dag dd, d
vecka wk, ww
veckodag dw, w
timme hh
minut mi, n
andra ss, s
millisekund Fröken
mikrosekund mes
nanosekund ns

OBS! Användning av förkortningar avlägsnas vanligtvis eftersom de kan vara förvirrande ( m vs mi , ww vs w , etc.). Den långa versionen av datepart främjar tydlighet och läsbarhet och bör användas när det är möjligt ( month , minute , week , weekday etc.).

DATEDIFF för att beräkna skillnader i tidsperiod

Allmän syntax:

DATEDIFF (datepart, datetime_expr1, datetime_expr2)

Det kommer att returnera ett positivt nummer om datetime_expr är tidigare i förhållande till datetime_expr2 , och ett negativt nummer annars.

exempel

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

OBS: DATEDIFF accepterar också förkortningar i parametern datepart . Användning av dessa förkortningar avlägsnas generellt eftersom de kan vara förvirrande ( m vs mi , ww vs w , etc.).

DATEDIFF kan också användas för att bestämma förskjutningen mellan UTC och den lokala tiden för SQL Server. Följande uttalande kan användas för att beräkna offset mellan UTC och lokal tid (inklusive tidszon).

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

DATEPART & DATENAME

DATEPART returnerar det angivna datepart för det angivna datumet uttrycket som ett numeriskt värde.

DATENAME returnerar en teckensträng som representerar den angivna datepart för det angivna datumet. I praktiken är DATENAME mest användbar för att få DATENAME namn eller veckodag.

Det finns också några korta funktioner för att få året, månaden eller dagen för ett datetime-uttryck, som uppträder som DATEPART med sina respektive datepart enheter.

Syntax:

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

Exempel:

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

OBS: DATEPART och DATENAME accepterar också förkortningar i parametern datepart . Användning av dessa förkortningar avlägsnas generellt eftersom de kan vara förvirrande ( m vs mi , ww vs w , etc.).

Få den sista dagen i en månad

Med DATEADD och DATEDIFF är det möjligt att returnera det sista datumet i en månad.

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 funktionen ger ett mer kortfattat sätt att returnera det sista datumet i en månad och har en valfri parameter för att kompensera månaden.

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

Returnera bara datum från en DateTime

Det finns många sätt att returnera ett datum från ett DateTime-objekt

  1. SELECT CONVERT(Date, GETDATE())
  2. SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE())) returnerar 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')

Observera att alternativ 4 och 5 returnerar en sträng, inte ett datum.

Skapa funktion för att beräkna en persons ålder på ett specifikt datum

Denna funktion tar två datetime-parametrar, DOB och ett datum för att kontrollera åldern kl

  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

t.ex. för att kontrollera åldern i dag för någon som är född 1/1/2000

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

KROSSPLATFORM DATUMMÅL

SQL Server 2012

I Transact SQL kan du definiera ett objekt som Date (eller DateTime ) med [DATEFROMPARTS][1] (eller [DATETIMEFROMPARTS][1] ) som följande:

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

Parametrarna du tillhandahåller är år, månad, dag för funktionen DATEFROMPARTS och för funktionen DATETIMEFROMPARTS måste du ange år, månad, dag, timme, minuter, sekunder och millisekunder.

Dessa metoder är användbara och värda att användas eftersom användning av vanlig sträng för att bygga ett datum (eller datetime) kan misslyckas beroende på inställningarna för värdmaskinens område, plats eller datumformat.

Datumformat Utökad

Datumformat SQL-uttalande Provutgång
YY-MM-DD VÄLJ RÄTT (CONVERT (VARCHAR (10), SYSDATETIME (), 20), 8) AS [YY-MM-DD]
VÄLJ Byt (CONVERT (VARCHAR (8), SYSDATETIME (), 11), '/', '-') AS [YY-MM-DD]
11-06-08
ÅÅÅÅ-MM-DD SELECT CONVERT (VARCHAR (10), SYSDATETIME (), 120) AS [YYYY-MM-DD]
VÄLJ Byt (CONVERT (VARCHAR (10), SYSDATETIME (), 111), '/', '-') AS [YYYY-MM-DD]
2011-06-08
YYYY-MD VÄLJ KAST (ÅR (SYSDATETIME ()) SOM VARCHAR (4)) + '-' + KAST (MÅNAD (SYSDATETIME ()) AS VARCHAR (2)) + '-' + CAST (DAY (SYSDATETIME ()) AS VARCHAR ( 2)) AS [ÅÅÅÅ-MD] 2011/06/08
YY-MD VÄLJ RÄTT (KAST (ÅR (SYSDATETIME ()) SOM VARCHAR (4)), 2) + '-' + KAST (MÅNAD (SYSDATETIME ()) SOM VARCHAR (2)) + '-' + KAST (DAG (SYSDATETIME () )) AS VARCHAR (2)) AS [YY-MD] 11-6-8
MD-ÅÅÅÅ VÄLJ KAST (MÅNAD (SYSDATETIME ()) SOM VARCHAR (2)) + '-' + CAST (DAY (SYSDATETIME ()) AS VARCHAR (2)) + '-' + CAST (YEAR (SYSDATETIME ()) AS VARCHAR ( 4)) AS [MD-ÅÅÅÅ] 2011/06/08
MD-YY VÄLJ KAST (MÅNAD (SYSDATETIME ()) SOM VARCHAR (2)) + '-' + CAST (DAY (SYSDATETIME ()) AS VARCHAR (2)) + '-' + RIGHT (CAST (YEAR (SYSDATETIME ()) AS VARCHAR (4)), 2) AS [MD-YY] 6-8-11
DM-YYYY VÄLJ KAST (DAG (SYSDATETIME ()) SOM VARCHAR (2)) + '-' + CAST (MÅNAD (SYSDATETIME ()) AS VARCHAR (2)) + '-' + CAST (YEAR (SYSDATETIME ()) AS VARCHAR ( 4)) AS [DM-ÅÅÅÅ] 2011/08/06
DM-YY VÄLJ KAST (DAG (SYSDATETIME ()) SOM VARCHAR (2)) + '-' + CAST (MÅNAD (SYSDATETIME ()) AS VARCHAR (2)) + '-' + RIGHT (CAST (YEAR (SYSDATETIME ()) AS VARCHAR (4)), 2) AS [DM-YY] 8-6-11
YY-MM VÄLJ RÄTT (CONVERT (VARCHAR (7), SYSDATETIME (), 20), 5) AS [YY-MM]
VÄLJ SUBSTRING (CONVERT (VARCHAR (10), SYSDATETIME (), 120), 3, 5) AS [YY-MM]
11-06
YYYY-MM VÄLJ KONVERT (VARCHAR (7), SYSDATETIME (), 120) SOM [ÅÅÅÅ-MM] 2011-06
YY-M VÄLJ RÄTT (KAST (ÅR (SYSDATETIME ()) SOM VARCHAR (4)), 2) + '-' + KAST (MÅNAD (SYSDATETIME ()) SOM VARCHAR (2)) AS [YY-M] 11-6
YYYY-M VÄLJ KAST (ÅR (SYSDATETIME ()) SOM VARCHAR (4)) + '-' + KAST (MÅNAD (SYSDATETIME ()) SOM VARCHAR (2)) AS [YYYY-M] 2011-6
MMÅÅ VÄLJ RÄTT (CONVERT (VARCHAR (8), SYSDATETIME (), 5), 5) AS [MM-YY]
VÄLJ SUBSTRING (CONVERT (VARCHAR (8), SYSDATETIME (), 5), 4, 5) AS [MM-YY]
06-11
MM-YYYY VÄLJ RÄTT (CONVERT (VARCHAR (10), SYSDATETIME (), 105), 7) AS [MM-ÅÅÅÅ] 06-2011
M-YY VÄLJ KAST (MÅNAD (SYSDATETIME ()) SOM VARCHAR (2)) + '-' + RIGHT (CAST (YEAR (SYSDATETIME ()) AS VARCHAR (4)), 2) AS [M-YY] 6-11
M-YYYY VÄLJ KAST (MÅNAD (SYSDATETIME ()) SOM VARCHAR (2)) + '-' + CAST (YEAR (SYSDATETIME ()) AS VARCHAR (4)) AS [M-YYYY] 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 VÄLJ KAST (MÅNAD (SYSDATETIME ()) AS VARCHAR (2)) + '-' + CAST (DAY (SYSDATETIME ()) AS VARCHAR (2)) AS [MD] 6-8
DM VÄLJ KAST (DAG (SYSDATETIME ()) SOM VARCHAR (2)) + '-' + KAST (MÅNAD (SYSDATETIME ()) SOM VARCHAR (2)) AS [DM] 8-6
M / D / YYYY VÄLJ KAST (MÅNAD (SYSDATETIME ()) SOM VARCHAR (2)) + '/' + CAST (DAY (SYSDATETIME ()) AS VARCHAR (2)) + '/' + CAST (YEAR (SYSDATETIME ()) AS VARCHAR ( 4)) AS [M / D / ÅÅÅÅ] 2011/06/08
M / D / YY VÄLJ KAST (MÅNAD (SYSDATETIME ()) SOM VARCHAR (2)) + '/' + CAST (DAY (SYSDATETIME ()) AS VARCHAR (2)) + '/' + RIGHT (CAST (YEAR (SYSDATETIME ()) AS VARCHAR (4)), 2) AS [M / D / YY] 6/8/11
D / M / YYYY VÄLJ KAST (DAG (SYSDATETIME ()) SOM VARCHAR (2)) + '/' + CAST (MÅNAD (SYSDATETIME ()) AS VARCHAR (2)) + '/' + CAST (YEAR (SYSDATETIME ()) AS VARCHAR ( 4)) AS [D / M / ÅÅÅÅ] 2011/08/06
D / M / YY VÄLJ KAST (DAG (SYSDATETIME ()) SOM VARCHAR (2)) + '/' + CAST (MÅNAD (SYSDATETIME ()) AS VARCHAR (2)) + '/' + RIGHT (CAST (YEAR (SYSDATETIME ()) AS VARCHAR (4)), 2) AS [D / M / YY] 8/6/11
YYYY / M / D VÄLJ KAST (ÅR (SYSDATETIME ()) SOM VARCHAR (4)) + '/' + CAST (MÅNAD (SYSDATETIME ()) SOM VARCHAR (2)) + '/' + CAST (DAY (SYSDATETIME ()) AS VARCHAR ( 2)) AS [ÅÅÅÅ / M / D] 2011/06/08
YY / M / D VÄLJ RÄTT (KAST (ÅR (SYSDATETIME ()) SOM VARCHAR (4)), 2) + '/' + KAST (MÅNAD (SYSDATETIME ()) SOM VARCHAR (2)) + '/' + CAST (DAY (SYSDATETIME () )) AS VARCHAR (2)) AS [YY / M / D] 11/6/8
MMÅÅ VÄLJ RÄTT (CONVERT (VARCHAR (8), SYSDATETIME (), 3), 5) AS [MM / YY] 06/11
MM / YYYY VÄLJ RÄTT (CONVERT (VARCHAR (10), SYSDATETIME (), 103), 7) AS [MM / ÅÅÅÅ] 06/2011
M / YY VÄLJ KAST (MÅNAD (SYSDATETIME ()) SOM VARCHAR (2)) + '/' + RIGHT (CAST (YEAR (SYSDATETIME ()) AS VARCHAR (4)), 2) AS [M / YY] 6/11
M / YYYY VÄLJ KAST (MÅNAD (SYSDATETIME ()) SOM VARCHAR (2)) + '/' + CAST (ÅR (SYSDATETIME ()) SOM VARCHAR (4)) AS [M / ÅÅÅÅ] 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 VÄLJ RÄTT (KAST (ÅR (SYSDATETIME ()) SOM VARCHAR (4)), 2) + '/' + KAST (MÅNAD (SYSDATETIME ()) SOM VARCHAR (2)) AS [YY / M] 11/6
YYYY / M VÄLJ KAST (ÅR (SYSDATETIME ()) SOM VARCHAR (4)) + '/' + KAST (MÅNAD (SYSDATETIME ()) SOM VARCHAR (2)) AS [ÅÅÅÅ / M] 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 VÄLJ KAST (MÅNAD (SYSDATETIME ()) SOM VARCHAR (2)) + '/' + CAST (DAY (SYSDATETIME ()) AS VARCHAR (2)) AS [M / D] 6/8
D / M VÄLJ KAST (DAG (SYSDATETIME ()) SOM VARCHAR (2)) + '/' + KAST (MÅNAD (SYSDATETIME ()) SOM VARCHAR (2)) AS [D / M] 8/6
MM.DD.YYYY VÄLJ Byt (CONVERT (VARCHAR (10), SYSDATETIME (), 101), '/', '.') AS [MM.DD.YYYY] 06.08.2011
MM.DD.YY VÄLJ Byt ut (CONVERT (VARCHAR (8), SYSDATETIME (), 1), '/', '.') AS [MM.DD.YY] 06.08.11
MDYYYY VÄLJ KAST (MÅNAD (SYSDATETIME ()) SOM VARCHAR (2)) + '.' + CAST (DAY (SYSDATETIME ()) AS VARCHAR (2)) + '.' + KAST (ÅR (SYSDATETIME ()) SOM VARCHAR (4)) SOM [MDYYYY] 6.8.2011
MDYY VÄLJ KAST (MÅNAD (SYSDATETIME ()) SOM VARCHAR (2)) + '.' + CAST (DAY (SYSDATETIME ()) AS VARCHAR (2)) + '.' + HÖGER (KAST (ÅR (SYSDATETIME ()) SOM VARCHAR (4)), 2) AS [MDYY] 6.8.11
DD.MM.ÅÅÅÅ SELECT CONVERT (VARCHAR (10), SYSDATETIME (), 104) AS [DD.MM.YYYY] 08.06.2011
DD.MM.ÅÅ SELECT CONVERT (VARCHAR (10), SYSDATETIME (), 4) AS [DD.MM.YY] 08.06.11
DMYYYY VÄLJ KAST (DAG (SYSDATETIME ()) SOM VARCHAR (2)) + '.' + KAST (MÅNAD (SYSDATETIME ()) SOM VARCHAR (2)) + '.' + KAST (ÅR (SYSDATETIME ()) SOM VARCHAR (4)) SOM [DMYYYY] 8.6.2011
DMYY VÄLJ KAST (DAG (SYSDATETIME ()) SOM VARCHAR (2)) + '.' + KAST (MÅNAD (SYSDATETIME ()) SOM VARCHAR (2)) + '.' + HÖGER (KAST (ÅR (SYSDATETIME ()) SOM VARCHAR (4)), 2) AS [DMYY] 8.6.11
YYYY.MD VÄLJ KAST (ÅR (SYSDATETIME ()) SOM VARCHAR (4)) + '.' + KAST (MÅNAD (SYSDATETIME ()) SOM VARCHAR (2)) + '.' + CAST (DAY (SYSDATETIME ()) SOM VARCHAR (2)) AS [YYYY.MD] 2011/06/08
YY.MD VÄLJ RÄTT (KAST (ÅR (SYSDATETIME ()) SOM VARCHAR (4)), 2) + '.' + KAST (MÅNAD (SYSDATETIME ()) SOM VARCHAR (2)) + '.' + CAST (DAY (SYSDATETIME ()) SOM VARCHAR (2)) AS [YY.MD] 11.6.8
mm.åååå VÄLJ RÄTT (CONVERT (VARCHAR (10), SYSDATETIME (), 104), 7) AS [MM.YYYY] 06.2011
MMÅÅ VÄLJ RÄTT (CONVERT (VARCHAR (8), SYSDATETIME (), 4), 5) AS [MM.YY] 06.11
M.YYYY VÄLJ KAST (MÅNAD (SYSDATETIME ()) SOM VARCHAR (2)) + '.' + CAST (ÅR (SYSDATETIME ()) SOM VARCHAR (4)) AS [M. YYYY] 6,2011
M.YY VÄLJ KAST (MÅNAD (SYSDATETIME ()) SOM VARCHAR (2)) + '.' + HÖGER (KAST (ÅR (SYSDATETIME ()) SOM 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 VÄLJ KAST (ÅR (SYSDATETIME ()) SOM VARCHAR (4)) + '.' + KAST (MÅNAD (SYSDATETIME ()) SOM VARCHAR (2)) SOM [ÅÅÅÅ.M] 2011,6
YY.M VÄLJ RÄTT (KAST (ÅR (SYSDATETIME ()) SOM VARCHAR (4)), 2) + '.' + KAST (MÅNAD (SYSDATETIME ()) SOM VARCHAR (2)) AS [YY.M] 11,6
mm.dd VÄLJ RÄTT (CONVERT (VARCHAR (8), SYSDATETIME (), 2), 5) AS [MM.DD] 06.08
DD.MM SELECT CONVERT (VARCHAR (5), SYSDATETIME (), 4) AS [DD.MM] 08.06
MMDDÅÅÅÅ VÄLJ Byt (CONVERT (VARCHAR (10), SYSDATETIME (), 101), '/', '') AS [MMDDYYYY] 06082011
MMDDÅÅ VÄLJ Byt (CONVERT (VARCHAR (8), SYSDATETIME (), 1), '/', '') AS [MMDDYY] 060.811
DDMMÅÅÅÅ VÄLJ Byt (CONVERT (VARCHAR (10), SYSDATETIME (), 103), '/', '') AS [DDMMYYYY] 08062011
DDMMÅÅ VÄLJ Byt ut (CONVERT (VARCHAR (8), SYSDATETIME (), 3), '/', '') AS [DDMMYY] 080611
MMÅÅÅÅ VÄLJ RÄTT (Byt ut (CONVERT (VARCHAR (10), SYSDATETIME (), 103), '/', ''), 6) SOM [MMYYYY] 062.011
MMÅÅ VÄLJ RÄTT (Byt ut (CONVERT (VARCHAR (8), SYSDATETIME (), 3), '/', ''), 4) AS [MMYY] 0611
YYYYMM VÄLJ KONVERT (VARCHAR (6), SYSDATETIME (), 112) SOM [ÅÅÅÅMM] 201106
ÅÅMM VÄLJ KONVERT (VARCHAR (4), SYSDATETIME (), 12) SOM [YYMM] 1106
Månad DD, ÅÅÅÅ VÄLJ DATENAMN (MÅNED, SYSDATETIME ()) + '' + RÄTT ('0' + DATENAMN (DAG, SYSDATETIME ()), 2) + ',' + DATENAMN (ÅR, SYSDATETIME ()) AS [Månad DD, ÅÅÅÅ] 8 juni 2011
Man ÅÅÅÅ VÄLJ VÄNSTER (DATENAME (MÅNED, SYSDATETIME ()), 3) + '' + DATENAME (ÅR, SYSDATETIME ()) SOM [mån ÅÅÅÅ] Juni 2011
Månad ÅÅÅÅ VÄLJ DATENAME (MÅNED, SYSDATETIME ()) + '' + DATENAME (ÅR, SYSDATETIME ()) AS [Månad ÅÅÅÅ] Juni 2011
DD-månad SELECT RIGHT ('0' + DATENAME (DAY, SYSDATETIME ()), 2) + '' + DATENAME (MÅNED, SYSDATETIME ()) AS [DD månad] 8 juni
Månad DD VÄLJ DATENAMN (MÅNAD, SYSDATETIME ()) + '' + RÄTT ('0' + DATENAMN (DAG, SYSDATETIME ()), 2) AS [Månad DD] 8 juni
DD Månad YY VÄLJ KAST (DAG (SYSDATETIME ()) SOM VARCHAR (2)) + '' + DATENAME (MM, SYSDATETIME ()) + '' + RIGHT (CAST (YEAR (SYSDATETIME ()) AS VARCHAR (4)), 2) AS [DD Månad YY] 08 juni 11
DD månad ÅÅÅÅ SELECT RIGHT ('0' + DATENAME (DAY, SYSDATETIME ()), 2) + '' + DATENAME (MÅNED, SYSDATETIME ()) + '' + DATENAME (YEAR, SYSDATETIME ()) AS [DD månad YYYY] 8 juni 2011
Mån-YY VÄLJ Byt ut (RIGHT (CONVERT (VARCHAR (9), SYSDATETIME (), 6), 6), '', '-') AS [mån-YY] Jun-08
Mån-ÅÅÅÅ VÄLJ Byt (HÖGER (CONVERT (VARCHAR (11), SYSDATETIME (), 106), 8), '', '-') AS [mån-ÅÅÅÅ] Jun-2011
DD-mån-YY VÄLJ Byt ut (CONVERT (VARCHAR (9), SYSDATETIME (), 6), '', '-') AS [DD-Mon-YY] 08 Jun 11
DD-MÅN-ÅÅÅÅ VÄLJ Byt (CONVERT (VARCHAR (11), SYSDATETIME (), 106), '', '-') AS [DD-Mon-YYYY] 08 Jun 2011


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow