Ricerca…


Sintassi

  • EOMONTH ( start_date [, month_to_add])

Osservazioni

come per https://msdn.microsoft.com/en-us/library/ms187819.aspx , DateTime s sono solo precisi a 3 ms.

Arrotondamento dei valori datetime Fractional Second Precision datetime sono arrotondati a incrementi di .000, .003 o .007 secondi, come mostrato nella seguente tabella.

Valore specificato dall'utente Sistema memorizzato
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
------ ------

Se è richiesta maggiore precisione, è necessario utilizzare time , datetime2 o datetimeoffset .

Formattazione di data e ora tramite CONVERT

È possibile utilizzare la funzione CONVERT per eseguire il cast di un datatype datetime su una stringa formattata.

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

È inoltre possibile utilizzare alcuni codici incorporati per convertire in un formato specifico. Ecco le opzioni integrate in SQL Server:

DECLARE @convert_code INT = 100 -- See Table Below
SELECT CONVERT(VARCHAR(30), GETDATE(), @convert_code) AS [Result]
@convert_code Risultato
100 "21 lug 2016 7:56 AM"
101 "2016/07/21"
102 "2016/07/21"
103 "21/07/2016"
104 "2016/07/21"
105 "21-07-2016"
106 "21 lug 2016"
107 "21 lug 2016"
108 "07:57:05"
109 "21 luglio 2016 7: 57: 45: 707AM"
110 "2016/07/21"
111 "2016/07/21"
112 "20160721"
113 "21 luglio 2016 07: 57: 59: 553"
114 "07: 57: 59: 553"
120 "21-07-2017 07:57:59"
121 "07-07-2017 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

Formattazione di data e ora tramite FORMAT

SQL Server 2012

È possibile utilizzare la nuova funzione: FORMAT() .

Usando questo puoi trasformare i tuoi campi DATETIME nel tuo formato VARCHAR personalizzato.

Esempio

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

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

Lunedì 5 settembre 2016 12:01:02

argomenti

Dato che DATETIME stato formattato nel 2016-09-05 00:01:02.333 , il seguente grafico mostra quale sarebbe il loro output per l'argomento fornito.

Discussione Produzione
aaaa 2016
aa 16
MMMM settembre
MM 09
M 9
dddd Lunedi
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 UN
F F F 333
ff 33
f 3

È anche possibile fornire un singolo argomento alla funzione FORMAT() per generare un output preformattato:

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

SELECT FORMAT(@Date, N'U')

Lunedì 5 settembre 2016 04:01:02

Argomento singolo Produzione
D Lunedì 5 settembre 2016
d 2016/09/05
F Lunedì 5 settembre 2016 12:01:02
f Lunedì 5 settembre 2016 alle 12:01
sol 9/5/2016 12:01:02 AM
g 9/5/2016 alle 12:01
M 5 settembre
O 2016-09-05T00: 01: 02,3330000
R Lun, 05 Set 2016 00:01:02 GMT
S 2016-09-05T00: 01: 02
T 12:01:02 AM
t Alle 12:01
U Lunedì 5 settembre 2016 04:01:02
u 2016-09-05 00: 01: 02Z
Y Settembre 2016

Nota: l'elenco precedente utilizza la cultura en-US . Una diversa cultura può essere specificata per il FORMAT() tramite il terzo parametro:

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

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

2016 年 9 月 5 日 4:01:02

Ottieni l'ora corrente

Le funzioni incorporate GETDATE e GETUTCDATE restituiscono ciascuna la data e l'ora correnti senza un offset del fuso orario.

Il valore di ritorno di entrambe le funzioni è basato sul sistema operativo del computer su cui è in esecuzione l'istanza di SQL Server.

Il valore restituito di GETDATE rappresenta l'ora corrente nello stesso fuso orario del sistema operativo. Il valore di ritorno di GETUTCDATE rappresenta l'ora UTC corrente.

Entrambe le funzioni possono essere incluse nella clausola SELECT di una query o come parte dell'espressione booleana nella clausola WHERE .

Esempi:

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

Ci sono alcune altre funzioni incorporate che restituiscono diverse variazioni della data-ora corrente:

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 per l'aggiunta e la sottrazione dei periodi di tempo

Sintassi generale:

DATEADD (datepart , number , datetime_expr)  

Per aggiungere una misura temporale, il number deve essere positivo. Per sottrarre una misura del tempo, il number deve essere negativo.

Esempi

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

NOTA: DATEADD accetta anche le abbreviazioni nel parametro datepart . L'uso di queste abbreviazioni è generalmente scoraggiato in quanto possono essere fonte di confusione ( m vs mi , ww vs w , ecc.).

Data di riferimento delle parti

Questi sono i valori di datepart disponibili per le funzioni di data e ora:

datepart Abbreviazioni
anno yy, yyyy
trimestre qq, q
mese mm, m
dayofyear dy, y
giorno dd, d
settimana wk, ww
giorno feriale dw, w
ora hh
minuto mi, n
secondo ss, s
millisecondo Signorina
microsecondo mcs
nanosecondo ns

NOTA : l'uso delle abbreviazioni è generalmente scoraggiato in quanto possono essere fonte di confusione ( m vs mi , ww vs w , ecc.). La versione lunga della rappresentazione di datepart promuove la chiarezza e la leggibilità e dovrebbe essere utilizzata ogni qualvolta possibile ( month , minute , week , weekday , ecc.).

DATEDIFF per il calcolo delle differenze di periodo

Sintassi generale:

DATEDIFF (datepart, datetime_expr1, datetime_expr2)

Restituirà un numero positivo se datetime_expr è nel passato relativo a datetime_expr2 e un numero negativo in caso contrario.

Esempi

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

NOTA: DATEDIFF accetta anche le abbreviazioni nel parametro datepart . L'uso di queste abbreviazioni è generalmente scoraggiato in quanto possono essere fonte di confusione ( m vs mi , ww vs w , ecc.).

DATEDIFF può anche essere utilizzato per determinare l'offset tra UTC e l'ora locale di SQL Server. La seguente istruzione può essere utilizzata per calcolare l'offset tra UTC e l'ora locale (incluso il fuso orario).

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

DATEPART & DATENAME

DATEPART restituisce la datepart specificata dell'espressione datetime specificata come valore numerico.

DATENAME restituisce una stringa di caratteri che rappresenta la datepart specificata della data specificata. In pratica, DATENAME è utile soprattutto per ottenere il nome del mese o il giorno della settimana.

Esistono anche alcune funzioni abbreviate per ottenere l'anno, il mese o il giorno di un'espressione datetime, che si comportano come DATEPART con le rispettive unità di datepart .

Sintassi:

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

Esempi:

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

NOTA: DATEPART e DATENAME accettano anche le abbreviazioni nel parametro datepart . L'uso di queste abbreviazioni è generalmente scoraggiato in quanto possono essere fonte di confusione ( m vs mi , ww vs w , ecc.).

Ottenere l'ultimo giorno di un mese

Utilizzando le funzioni DATEADD e DATEDIFF , è possibile restituire l'ultima data del mese.

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

La funzione EOMONTH fornisce un modo più conciso per restituire l'ultima data di un mese e ha un parametro facoltativo per compensare il mese.

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

Restituisce solo la data da un DateTime

Esistono molti modi per restituire una data da un oggetto DateTime

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

Nota che le opzioni 4 e 5 restituiscono una stringa, non una data.

Crea una funzione per calcolare l'età di una persona in una data specifica

Questa funzione richiede 2 parametri datetime, il DOB e una data per verificare l'età in

  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

ad esempio per verificare l'età di oggi di qualcuno nato il 1 ° gennaio 2000

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

OGGETTO DELLA DATA DELLA PIATTAFORMA CROSS

SQL Server 2012

In Transact SQL, è possibile definire un oggetto come Date (o DateTime ) utilizzando la funzione [DATEFROMPARTS][1] (o [DATETIMEFROMPARTS][1] ) come segue:

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

I parametri forniti sono Anno, Mese, Giorno per la funzione DATEFROMPARTS e, per la funzione DATETIMEFROMPARTS , è necessario fornire anno, mese, giorno, ora, minuti, secondi e millisecondi.

Questi metodi sono utili e meritano di essere utilizzati perché l'utilizzo della stringa semplice per creare una data (o datetime) potrebbe non riuscire a seconda delle impostazioni della regione, del percorso o della data della macchina host.

Formato data esteso

Formato data Dichiarazione SQL Uscita di esempio
AA-MM-DD SELEZIONA DESTRA (CONVERT (VARCHAR (10), SYSDATETIME (), 20), 8) AS [YY-MM-DD]
SELEZIONA REPLACE (CONVERT (VARCHAR (8), SYSDATETIME (), 11), '/', '-') AS [YY-MM-DD]
11-06-08
AAAA-MM-DD SELECT CONVERT (VARCHAR (10), SYSDATETIME (), 120) AS [YYYY-MM-DD]
SELEZIONA REPLACE (CONVERT (VARCHAR (10), SYSDATETIME (), 111), '/', '-') AS [YYYY-MM-DD]
2011-06-08
AAAA-MD SELECT CAST (YEAR (SYSDATETIME ()) AS VARCHAR (4)) + '-' + CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '-' + CAST (DAY (SYSDATETIME ()) AS VARCHAR ( 2)) AS [YYYY-MD] 2011/06/08
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
MD-AAAA SELECT CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '-' + CAST (DAY (SYSDATETIME ()) AS VARCHAR (2)) + '-' + CAST (YEAR (SYSDATETIME ()) AS VARCHAR ( 4)) AS [MD-YYYY] 2011/06/08
MD-YY SELECT CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '-' + CAST (DAY (SYSDATETIME ()) AS VARCHAR (2)) + '-' + RIGHT (CAST (YEAR (SYSDATETIME ()) AS VARCHAR (4)), 2) AS [MD-YY] 6-8-11
DM-AAAA SELECT CAST (DAY (SYSDATETIME ()) AS VARCHAR (2)) + '-' + CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '-' + CAST (ANNO (SYSDATETIME ()) AS VARCHAR ( 4)) AS [DM-YYYY] 2011/08/06
DM-YY SELECT CAST (DAY (SYSDATETIME ()) AS VARCHAR (2)) + '-' + CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '-' + RIGHT (CAST (ANNO (SYSDATETIME ()) AS VARCHAR (4)), 2) AS [DM-YY] 8-6-11
AA-MM SELEZIONA DESTRA (CONVERT (VARCHAR (7), SYSDATETIME (), 20), 5) AS [YY-MM]
SELEZIONARE SUBSTRING (CONVERT (VARCHAR (10), SYSDATETIME (), 120), 3, 5) AS [YY-MM]
11-06
AAAA-MM SELEZIONA CONVERT (VARCHAR (7), SYSDATETIME (), 120) AS [YYYY-MM] 2011-06
YY-M SELECT RIGHT (CAST (YEAR (SYSDATETIME ()) AS VARCHAR (4)), 2) + '-' + CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) AS [YY-M] 11-6
AAAA-M SELECT CAST (YEAR (SYSDATETIME ()) AS VARCHAR (4)) + '-' + CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) AS [YYYY-M] 2011-6
MM-AA SELEZIONA DESTRA (CONVERT (VARCHAR (8), SYSDATETIME (), 5), 5) AS [MM-YY]
SELEZIONARE SUBSTRING (CONVERT (VARCHAR (8), SYSDATETIME (), 5), 4, 5) AS [MM-YY]
06-11
MM-AAAA SELEZIONA DESTRA (CONVERT (VARCHAR (10), SYSDATETIME (), 105), 7) AS [MM-YYYY] 06-2011
M-YY SELECT CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '-' + RIGHT (CAST (YEAR (SYSDATETIME ()) AS VARCHAR (4)), 2) AS [M-YY] 6-11
M-AAAA SELECT CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '-' + CAST (YEAR (SYSDATETIME ()) AS VARCHAR (4)) AS [M-YYYY] 6-2011
MM-DD SELEZIONA CONVERT (VARCHAR (5), SYSDATETIME (), 10) AS [MM-DD] 06-08
GG-MM SELEZIONA CONVERT (VARCHAR (5), SYSDATETIME (), 5) AS [DD-MM] 08-06
MD SELECT CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '-' + CAST (DAY (SYSDATETIME ()) AS VARCHAR (2)) AS [MD] 6-8
DM SELECT CAST (DAY (SYSDATETIME ()) AS VARCHAR (2)) + '-' + CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) AS [DM] 8-6
M / D / AAAA SELECT CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '/' + CAST (DAY (SYSDATETIME ()) AS VARCHAR (2)) + '/' + CAST (ANNO (SYSDATETIME ()) AS VARCHAR ( 4)) AS [M / D / YYYY] 2011/06/08
M / D / AA 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] 6/8/11
D / M / AAAA SELECT CAST (DAY (SYSDATETIME ()) AS VARCHAR (2)) + '/' + CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '/' + CAST (ANNO (SYSDATETIME ()) AS VARCHAR ( 4)) AS [D / M / YYYY] 8/6/2011
D / M / YY SELECT CAST (DAY (SYSDATETIME ()) AS VARCHAR (2)) + '/' + CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '/' + RIGHT (CAST (ANNO (SYSDATETIME ()) AS VARCHAR (4)), 2) AS [D / M / YY] 8/6/11
AAAA / M / D SELECT CAST (YEAR (SYSDATETIME ()) AS VARCHAR (4)) + '/' + CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '/' + CAST (DAY (SYSDATETIME ()) AS VARCHAR ( 2)) AS [YYYY / M / D] 2011/06/08
YY / M / D SELECT RIGHT (CAST (YEAR (SYSDATETIME ()) AS VARCHAR (4)), 2) + '/' + CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '/' + CAST (DAY (SYSDATETIME ( )) AS VARCHAR (2)) AS [YY / M / D] 11/6/8
MM / AA SELEZIONA DESTRA (CONVERT (VARCHAR (8), SYSDATETIME (), 3), 5) AS [MM / AA] 06/11
MM / AAAA SELEZIONA DESTRA (CONVERT (VARCHAR (10), SYSDATETIME (), 103), 7) AS [MM / YYYY] 06/2011
M / AA SELECT CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '/' + RIGHT (CAST (YEAR (SYSDATETIME ()) AS VARCHAR (4)), 2) AS [M / YY] 6/11
M / AAAA SELECT CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '/' + CAST (YEAR (SYSDATETIME ()) AS VARCHAR (4)) AS [M / YYYY] 6/2011
AA / MM SELEZIONA CONVERT (VARCHAR (5), SYSDATETIME (), 11) AS [YY / MM] 11/06
AAAA / MM SELEZIONA CONVERT (VARCHAR (7), SYSDATETIME (), 111) AS [YYYY / MM] 2011/06
YY / M SELECT RIGHT (CAST (YEAR (SYSDATETIME ()) AS VARCHAR (4)), 2) + '/' + CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) AS [YY / M] 11/6
AAAA / M SELECT CAST (YEAR (SYSDATETIME ()) AS VARCHAR (4)) + '/' + CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) AS [YYYY / M] 2011/6
MM / DD SELEZIONA CONVERT (VARCHAR (5), SYSDATETIME (), 1) AS [MM / DD] 06/08
GG / MM SELEZIONA CONVERT (VARCHAR (5), SYSDATETIME (), 3) AS [DD / MM] 08/06
M / D SELECT CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '/' + CAST (DAY (SYSDATETIME ()) AS VARCHAR (2)) AS [M / D] 6/8
D / M SELECT CAST (DAY (SYSDATETIME ()) AS VARCHAR (2)) + '/' + CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) AS [D / M] 8/6
MM.GG.AAAA SELEZIONA REPLACE (CONVERT (VARCHAR (10), SYSDATETIME (), 101), '/', '.') AS [MM.DD.YYYY] 06.08.2011
MM.GG.AA SELEZIONA 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 (ANNO (SYSDATETIME ()) AS VARCHAR (4)) COME [MDYYYY] 6.8.2011
MDYY SELECT CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '.' + CAST (DAY (SYSDATETIME ()) AS VARCHAR (2)) + '.' + DESTRA (CAST (ANNO (SYSDATETIME ()) AS VARCHAR (4)), 2) AS [MDYY] 6.8.11
GG.MM.AAAA SELEZIONA CONVERT (VARCHAR (10), SYSDATETIME (), 104) AS [GG.MM.AAAA] 08.06.2011
GG.MM.AA SELEZIONA CONVERT (VARCHAR (10), SYSDATETIME (), 4) AS [GG.MM.AA] 08.06.11
DMYYYY SELECT CAST (DAY (SYSDATETIME ()) AS VARCHAR (2)) + '.' + CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '.' + CAST (ANNO (SYSDATETIME ()) AS VARCHAR (4)) COME [DMYYYY] 8.6.2011
DMYY SELECT CAST (DAY (SYSDATETIME ()) AS VARCHAR (2)) + '.' + CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '.' + DESTRA (CAST (ANNO (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/06/08
YY.MD SELEZIONA DESTRA (CAST (ANNO (SYSDATETIME ()) AS VARCHAR (4)), 2) + '.' + CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '.' + CAST (DAY (SYSDATETIME ()) AS VARCHAR (2)) AS [YY.MD] 11.6.8
mm.aaaa SELEZIONA DESTRA (CONVERT (VARCHAR (10), SYSDATETIME (), 104), 7) AS [MM.YYYY] 06.2011
MM.YY SELEZIONA DESTRA (CONVERT (VARCHAR (8), SYSDATETIME (), 4), 5) AS [MM.YY] 06.11
M.YYYY SELECT CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '.' + CAST (ANNO (SYSDATETIME ()) AS VARCHAR (4)) COME [M.YYYY] 6,2011
M.YY SELECT CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '.' + DESTRA (CAST (ANNO (SYSDATETIME ()) AS VARCHAR (4)), 2) AS [M.YY] 6.11
YYYY.MM SELEZIONA CONVERT (VARCHAR (7), SYSDATETIME (), 102) AS [YYYY.MM] 2011.06
YY.MM SELEZIONA 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] 2.011,6
YY.M SELEZIONA DESTRA (CAST (ANNO (SYSDATETIME ()) AS VARCHAR (4)), 2) + '.' + CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) AS [YY.M] 11.6
mm.dd SELEZIONA DESTRA (CONVERT (VARCHAR (8), SYSDATETIME (), 2), 5) AS [MM.DD] 06.08
DD.MM SELEZIONA CONVERT (VARCHAR (5), SYSDATETIME (), 4) AS [DD.MM] 08.06
MMGGAAAA SELEZIONA REPLACE (CONVERT (VARCHAR (10), SYSDATETIME (), 101), '/', '') AS [MMDDYYYY] 06082011
MMDDYY SELEZIONA REPLACE (CONVERT (VARCHAR (8), SYSDATETIME (), 1), '/', '') AS [MMDDYY] 060.811
DDMMYYYY SELEZIONA SOSTITUISCI (CONVERT (VARCHAR (10), SYSDATETIME (), 103), '/', '') AS [GGMMAAAA] 08062011
GGMMAA SELEZIONA SOSTITUISCI (CONVERT (VARCHAR (8), SYSDATETIME (), 3), '/', '') AS [DDMMYY] 080.611
MMYYYY SELEZIONA DESTRA (REPLACE (CONVERT (VARCHAR (10), SYSDATETIME (), 103), '/', ''), 6) AS [MMYYYY] 062011
MMAA SELEZIONA DESTRA (REPLACE (CONVERT (VARCHAR (8), SYSDATETIME (), 3), '/', ''), 4) AS [MMYY] 0611
AAAAMM SELEZIONA CONVERT (VARCHAR (6), SYSDATETIME (), 112) AS [YYYYMM] 201106
AAMM SELEZIONA CONVERT (VARCHAR (4), SYSDATETIME (), 12) AS [YYMM] 1106
Mese GG, AAAA SELEZIONA DATENAME (MESE, SYSDATETIME ()) + '' + DESTRA ('0' + DATENAME (GIORNO, SYSDATETIME ()), 2) + ',' + DATENAME (ANNO, SYSDATETIME ()) AS [Mese DD, YYYY] 8 giugno 2011
Lun YYYY SELEZIONA A SINISTRA (DATENAME (MONTH, SYSDATETIME ()), 3) + '' + DATENAME (ANNO, SYSDATETIME ()) AS [Mon YYYY] Giugno 2011
Mese AAAA SELEZIONA DATENAME (MESE, SYSDATETIME ()) + '' + DATENAME (ANNO, SYSDATETIME ()) AS [Mese YYYY] Giugno 2011
DD Month SELECT RIGHT ('0' + DATENAME (DAY, SYSDATETIME ()), 2) + '' + DATENAME (MONTH, SYSDATETIME ()) AS [DD Month] 08 giugno
Mese DD SELEZIONA DATENAME (MONTH, SYSDATETIME ()) + '' + RIGHT ('0' + DATENAME (DAY, SYSDATETIME ()), 2) AS [Month DD] 8 giugno
DD Mese AA SELECT CAST (DAY (SYSDATETIME ()) AS VARCHAR (2)) + '' + DATENAME (MM, SYSDATETIME ()) + '' + RIGHT (CAST (ANNO (SYSDATETIME ()) AS VARCHAR (4)), 2) AS [DD Mese YY] 08 giugno
DD Mese AAAA SELECT RIGHT ('0' + DATENAME (DAY, SYSDATETIME ()), 2) + '' + DATENAME (MONTH, SYSDATETIME ()) + '' + DATENAME (ANNO, SYSDATETIME ()) AS [DD Month YYYY] 08 giugno 2011
Mon-YY SELEZIONA REPLACE (DESTRA (CONVERT (VARCHAR (9), SYSDATETIME (), 6), 6), '', '-') AS [Mon-YY] Jun-08
Mon-AAAA SELEZIONA SOSTITUISCI (DESTRA (CONVERSO (VARCHAR (11), SYSDATETIME (), 106), 8), '', '-') AS [Mon-YYYY] Giu-2011
DD-Mon-YY SELEZIONA SOSTITUISCI (CONVERT (VARCHAR (9), SYSDATETIME (), 6), '', '-') AS [DD-Mon-YY] 08-giu-11
DD-Mon-AAAA SELEZIONA REPLACE (CONVERT (VARCHAR (11), SYSDATETIME (), 106), '', '-') AS [DD-Mon-YYYY] 08-Giu-2011


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow