Format de date et heure SQL Server avec Century – Bien choisir son serveur d impression
Author: Titanfall —
Short summary: Exécutez les scripts de formatage de date / heure Microsoft SQL Server T-SQL suivants dans l'éditeur de requêtes Management Studio pour illustrer l'utilisation de la multitude de formats de données temporels disponibles et l'application des fonctions date / date / heure. – Obtenir la date uniquement à partir de la date / heure – SYNTAXE […]
Quick overview
- Site
- Tutos GameServer
- Canonical URL
- https://tutos-gameserver.fr/2019/05/04/format-de-date-et-heure-sql-server-avec-century-bien-choisir-son-serveur-d-impression/
- LLM HTML version
- https://tutos-gameserver.fr/2019/05/04/format-de-date-et-heure-sql-server-avec-century-bien-choisir-son-serveur-d-impression/llm
- LLM JSON version
- https://tutos-gameserver.fr/2019/05/04/format-de-date-et-heure-sql-server-avec-century-bien-choisir-son-serveur-d-impression/llm.json
- Manifest
- https://tutos-gameserver.fr/llm-endpoints-manifest.json
- Estimated reading time
- 24 minutes (1435 seconds)
- Word count
- 4782
Key points
- Exécutez les scripts de formatage de date / heure Microsoft SQL Server T-SQL suivants dans l'éditeur de requêtes Management Studio pour illustrer l'utilisation de la multitude de formats de données temporels disponibles et l'application des fonctions date / date / heure.
- – Obtenir la date uniquement à partir de la date / heure – SYNTAXE RAPIDE SÉLECTIONNER DATEADD(jj, 0, DATE DIFF(jj, 0, CURRENT_TIMESTAMP)) – 2016-10-23 00: 00: 00.000 ————– Formats de date et de date et heure de SQL Server T-SQL – Calendrier grégorien – Calendrier chrétien – getdate () / CURRENT_TIMESTAMP (ANSI) renvoie la date et l'heure du système au format standard– Formats SQL date / heure avec siècle (format YYYY ou CCYY) – Format sql date et heure SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 100) – lundi jj aaaa hh: mmAM (ou PM) – 2 oct 2010 11:01 SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 101) – mm / jj / aaaa – 10/02/2010 SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 102) – aaaa.mm.jj – 2010.10.02 SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 103) – jj / mm / aaaa SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 104) – jj.mm.aaaa SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 105) – jj-mm-aaaa SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 106) – dd mon yyyy SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 107) – mon dd, yyyy SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 108) – hh: mm: ss SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 109) – lundi jj aaaa hh: mm: ss: mmmAM (ou PM) – 2 oct 2010 11: 02: 44: 013AM SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 110) – mm-jj-aaaa SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 111) – aaaa / mm / jj – aaaammjj – Format de date ISO – Norme internationale – Fonctionne avec n’importe quel paramètre de langue SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 112) – aaaammjj SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 113) – jj lundi aaaa hh: mm: ss: mmm – 02 oct 2010 11: 02: 07: 577 SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 114) – hh: mm: ss: mmm (24h) SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 120) – aaaa-mm-jj hh: mm: ss (24h) SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 121) – aaaa-mm-jj hh: mm: ss.mmm SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 126) – aaaa-mm-jjThh: mm: ss.mmm – ISO8601 – 2010-10-02T10: 52: 47.513 SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 127) – aaaa-mm-jjThh: mm: ss.mmmZ – avec fuseau horaire SÉLECTIONNER convertir(nvarchar (64), avoir un rendez-vous(), 130) – Date du hijri arabe – 29 juin 1433 1: 13: 04: 633AM: SÉLECTIONNER convertir(Nvarchar, avoir un rendez-vous(), 131) – Date du hijri arabe – Calendrier islamique – 29/05/1433 12: 57: 26: 690 AM – Sans la conversion date / date heure (YY) – il y a des exceptions!
- SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 0) – lundi jj aaaa hh: mmAM (ou PM) SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 1) – mm / jj / aa SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 2) – aa.mm.jj SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 3) – jj / mm / aa SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 4) – jj.mm.aa SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 5) – jj-mm-aa SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 6) – jj mon yy SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 7) – mon dd, yy SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 8) – hh: mm: ss SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 9) – lundi jj aaaa hh: mm: ss: mmmAM (ou PM) SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), dix) – mm-jj-aa SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 11) – aa / mm / jj SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 12) – yymmdd SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 13) – jj lundi aaaa hh: mm: ss: mmm SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 14) – hh: mm: ss: mmm (24h) SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 20) – aaaa-mm-jj hh: mm: ss (24h) SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 21) – aaaa-mm-jj hh: mm: ss.mmm SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 22) – mm / jj / aa hh: mm: ss AM (ou PM) SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 23) – aaaa-mm-jj SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 24) – hh: mm: ss SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 25) – aaaa-mm-jj hh: mm: ss.mmm – SQL crée différents styles de date avec des fonctions de chaîne t-sql SÉLECTIONNER remplacer(convertir(varchar, avoir un rendez-vous(), 111), '/', '') – aaaa mm jj SÉLECTIONNER convertir(varchar(7), avoir un rendez-vous(), 126) – aaaa-mm SÉLECTIONNER droite(convertir(varchar, avoir un rendez-vous(), 106), 8) – mon aaaaSÉLECTIONNER sous-chaîne(convertir(varchar, avoir un rendez-vous(), 120),6, 11) – mm-jj hh: mm———- – Calcul de minuit actuel (aujourd'hui) – Suppression de la partie heure de datetime – Date d'aujourd'hui sans heure – date-heure sans heure DÉCLARER @CurrentMidnight date / heure = dateadd(journée, daté(journée,0, CURRENT_TIMESTAMP), 0) SÉLECTIONNER @CurrentMidnight – 2012-03-15 00: 00: 00.000 ———- ———— – Fonction de formatage de date SQL Server – convertir une date / heure en chaîne ———— – Fonctions datetime SQL – Fonctions dattes SQL – Formatage datetime SQL Server – Dates de conversion T-SQL – Formats de date T-SQL – Formats de date Transact-SQL CRÉER UNE FONCTION dbo.fnFormatDate (@Datetime DATETIME, @FormatMask VARCHAR(32)) RÉSULTATS VARCHAR(32) COMME COMMENCER DÉCLARER @StringDate VARCHAR(32) ENSEMBLE @StringDate = @FormatMask SI (CHARINDEX ('AAAA',@StringDate) > 0) ENSEMBLE @StringDate = REMPLACER(@StringDate, 'AAAA', DATENAME(AA, @Datetime)) SI (CHARINDEX ('YY',@StringDate) > 0) ENSEMBLE @StringDate = REMPLACER(@StringDate, 'YY', DROITE(DATENAME(AA, @Datetime),2)) SI (CHARINDEX ('Mois',@StringDate) > 0) ENSEMBLE @StringDate = REMPLACER(@StringDate, 'Mois', DATENAME(MM, @Datetime)) SI (CHARINDEX ('LUN',@StringDate COLLATIONNER SQL_Latin1_General_CP1_CS_AS)>0) ENSEMBLE @StringDate = REMPLACER(@StringDate, 'LUN', LA GAUCHE(PLUS HAUT(DATENAME(MM, @Datetime)),3)) SI (CHARINDEX ('Lun',@StringDate) > 0) ENSEMBLE @StringDate = REMPLACER(@StringDate, 'Lun', LA GAUCHE(DATENAME(MM, @Datetime),3)) SI (CHARINDEX ('MM',@StringDate) > 0) ENSEMBLE @StringDate = REMPLACER(@StringDate, 'MM', DROITE('0'+CONVERTIR(VARCHAR,DATEPART(MM, @Datetime)),2)) SI (CHARINDEX ('M',@StringDate) > 0) ENSEMBLE @StringDate = REMPLACER(@StringDate, 'M', CONVERTIR(VARCHAR,DATEPART(MM, @Datetime))) SI (CHARINDEX ('DD',@StringDate) > 0) ENSEMBLE @StringDate = REMPLACER(@StringDate, 'DD', DROITE('0'+DATENAME(DD, @Datetime),2)) SI (CHARINDEX ('RÉ',@StringDate) > 0) ENSEMBLE @StringDate = REMPLACER(@StringDate, 'RÉ', DATENAME(DD, @Datetime)) REVENIR @StringDate FIN ALLER – Test de la fonction de format de date Microsoft SQL Server – Date de formatage MSSQL – Date et heure SQL SÉLECTIONNER dbo.fnFormatDate (avoir un rendez-vous(), 'MM / JJ / AAAA') – 01/03/2012 SÉLECTIONNER dbo.fnFormatDate (avoir un rendez-vous(), 'JJ / MM / AAAA') – 03/01/2012 SÉLECTIONNER dbo.fnFormatDate (avoir un rendez-vous(), 'M / JJ / AAAA') – 1/03/2012 SÉLECTIONNER dbo.fnFormatDate (avoir un rendez-vous(), 'M / D / YYYY') – 1/3/2012 SÉLECTIONNER dbo.fnFormatDate (avoir un rendez-vous(), 'M / D / YY') – 1/3/12 SÉLECTIONNER dbo.fnFormatDate (avoir un rendez-vous(), 'MM / JJ / AA') – 01/03/12 SÉLECTIONNER dbo.fnFormatDate (avoir un rendez-vous(), 'MON JJ, AAAA') – 03 JAN 2012 SÉLECTIONNER dbo.fnFormatDate (avoir un rendez-vous(), 'Mon JJ, AAAA') – 03 janvier 2012 SÉLECTIONNER dbo.fnFormatDate (avoir un rendez-vous(), 'Mois JJ, AAAA') – 03 janvier 2012 SÉLECTIONNER dbo.fnFormatDate (avoir un rendez-vous(), 'AAAA / MM / JJ') – 2012/01/03 SÉLECTIONNER dbo.fnFormatDate (avoir un rendez-vous(), 'AAAAMMJJ') – 20120103 SÉLECTIONNER dbo.fnFormatDate (avoir un rendez-vous(), 'AAAA-MM-JJ') – 2012-01-03 – CURRENT_TIMESTAMP renvoie la date et l'heure actuelles du système au format interne standard SÉLECTIONNER dbo.fnFormatDate (CURRENT_TIMESTAMP,'YY.MM.DD') – 12.01.03 ———— – Convertir la date en format entier DÉCLARER @rendez-vous amoureux comme DATETIME = CURRENT_TIMESTAMP; SÉLECTIONNER CONVERTIR(int, CONVERTIR(carboniser(8), @rendez-vous amoureux, 112)) COMME DateInt – 20120312 ———— / ***** FORMATS SQL DE DATE / DATETIME SQL SÉLECTIONNÉS ***** / – Format SQL date / heure – – sql hh mm ss – sql aaaa mm jj – Format par défaut: 23 oct 2006 10 h 40 SÉLECTIONNER [Default]=CONVERTIR(varchar,AVOIR UN RENDEZ-VOUS(),100) – Format américain: 10/23/2006 SÉLECTIONNER [US-Style]=CONVERTIR(carboniser,AVOIR UN RENDEZ-VOUS(),101) – Format ANSI: 2006.10.23 SÉLECTIONNER [ANSI]=CONVERTIR(carboniser,CURRENT_TIMESTAMP,102) – Format UK-Style: 23/10/2006 SÉLECTIONNER [UK-Style]=CONVERTIR(carboniser,AVOIR UN RENDEZ-VOUS(),103) – format allemand: 23.10.2006 SÉLECTIONNER [German]=CONVERTIR(varchar,AVOIR UN RENDEZ-VOUS(),104) – Format ISO: 20061023 SÉLECTIONNER ISO=CONVERTIR(varchar,AVOIR UN RENDEZ-VOUS(),112) – Format ISO8601: 2010-10-23T19: 20: 16,003 SÉLECTIONNER [ISO8601]=CONVERTIR(varchar,AVOIR UN RENDEZ-VOUS(),126) ———— ———— – Conversion de date islamique ———— – date grégorienne SÉLECTIONNER CONVERTIR(VARCHAR(36), AVOIR UN RENDEZ-VOUS(), 109) – 17 mars 2012, 19h27: 19h07 – Date islamique / hijri SÉLECTIONNER CONVERTIR(NVARCHAR(36), AVOIR UN RENDEZ-VOUS(), 130) – 24 février 1433 9: 27: 19: 0h30 SÉLECTIONNER CONVERTIR(VARCHAR(36), AVOIR UN RENDEZ-VOUS(), 131) – 24/04/1433 9: 27: 19: 0h30 ———— – Formats de date et heure SQL Server – Dates de format SQL Server 2005/2008 – Utilisation du format MM / JJ / AAAA dans une requête au format de date siècle SÉLECTIONNER HAUT (1) SalesOrderID, Date de commande = CONVERTIR(carboniser(dix), Date de commande, 101), OrderDateTime = Date de commande DE AdventureWorks.Ventes.SalesOrderHeader / * SalesOrderID OrderDate OrderDateTime 43697 01/07/2001 2001-07-01 00: 00: 00.000 * / – colonne de mise à jour SQL datetime – SQL datetime DATEADD – fonction datetime METTRE À JOUR Production.Produit ENSEMBLE Date modifiée=DATEADD(jj,1, Date modifiée) OÙ ID de produit = 1001 – Format de date MM / JJ / AA – Format date et heure sql SÉLECTIONNER HAUT (1) SalesOrderID, Date de commande = CONVERTIR(varchar(8), Date de commande, 1), OrderDateTime = Date de commande DE AdventureWorks.Ventes.SalesOrderHeader ORDRE PAR SalesOrderID desc / * SalesOrderID OrderDate OrderDateTime 75123 31/07/04 2004-07-31 00: 00: 00.000 * / ———— – Conversion de l'horodatage UNIX en date / heure DÉCLARER @Rendez-vous amoureux BIGINT = 1477180800 / * (Heure UNIX = 1477180800 -> minuit, le 23 octobre 2016) * / SÉLECTIONNER DATEADD(ss, @Rendez-vous amoureux, '19700101') – 2016-10-23 00: 00: 00.000 ———— – SQL convertit date / heure en caractère – concaténation de chaînes de date sql: opérateur + (plus) IMPRESSION 'Style 110:'+CONVERTIR(CARBONISER(dix),AVOIR UN RENDEZ-VOUS(),110) – Style 110: 07-10-2012 IMPRESSION 'Style 111:'+CONVERTIR(CARBONISER(dix),AVOIR UN RENDEZ-VOUS(),111) – Style 111: 2012/07/10 IMPRESSION 'Style 112:'+CONVERTIR(CARBONISER(8), AVOIR UN RENDEZ-VOUS(),112) – Style 112: 20120710 ———— – Combinaison de différents formats de style pour la date et l'heure – Formats de date / heure – Format de fois sql – Formats de date / heure sql DÉCLARER @Rendez-vous amoureux DATETIME ENSEMBLE @Rendez-vous amoureux = '2015-12-22 15:51' SÉLECTIONNER CONVERTIR(CARBONISER(dix),@Rendez-vous amoureux,110) + SUBSTRING(CONVERTIR(varchar,@Rendez-vous amoureux,0),12,8) – Résultat: 12-22-2015 15:51 – Microsoft SQL Server transforme la date / heure en chaîne SÉLECTIONNER stringDateTime=JETER (avoir un rendez-vous() comme varchar) – Résultat: 29 déc.
- 2012 03:47 Article associé: Fonctions de date et d'heure (Transact-SQL) ———— – Vue d'ensemble des fonctions de date et d'heure de SQL Server ———— – fonction SQL Server CURRENT_TIMESTAMP – Fonctions SQL Server datetime – Local NYC – EST – Fuseau horaire Eastern – Fonction SQL DATEADD – Fonction SQL DATEDIFF SÉLECTIONNER CURRENT_TIMESTAMP – 2012-01-05 07: 02: 10.577 – Fonction SQL Server DATEADD SÉLECTIONNER DATEADD(mois,2,'2012-12-09') – 2013-02-09 00: 00: 00.000 – Fonction SQL Server DATEDIFF SÉLECTIONNER DATE DIFF(journée,'2012-12-09','2013-02-09') – 62 – Fonction SQL Server DATENAME SÉLECTIONNER DATENAME(mois, '2012-12-09') – décembre SÉLECTIONNER DATENAME(jour de la semaine, '2012-12-09') — Dimanche – Fonction SQL Server DATEPART SÉLECTIONNER DATEPART(mois, '2012-12-09') – 12 – Fonction SQL Server DAY SÉLECTIONNER JOURNÉE('2012-12-09') – 9 – Fonction SQL Server GETDATE – heure locale NYC – EST – fuseau horaire de l’Est SÉLECTIONNER AVOIR UN RENDEZ-VOUS() – 2012-01-05 07: 02: 10.577 – Fonction SQL Server GETUTCDATE – Heure de Greenwich à Londres SÉLECTIONNER GETUTCDATE() – 2012-01-05 12: 02: 10.577 – Fonction SQL Server MONTH SÉLECTIONNER MOIS('2012-12-09') – 12 – Fonction SQL Server YEAR SÉLECTIONNER ANNÉE('2012-12-09') – 2012 ———— – Fonction universelle CONVERT – Conversion de date / heure UDF ———— CRÉER UNE FONCTION fnCONVERT( @Contribution datetimeoffset, @StyleNo int) RÉSULTATS Nvarchar(35) COMME COMMENCER REVENIR (CONVERTIR(Nvarchar(35), @Contribution, @StyleNo)) FIN ALLER DÉCLARER @dt RENDEZ-VOUS AMOUREUX=avoir un rendez-vous(); SÉLECTIONNER dbo.fnCONVERT( @dt,106) – 23 décembre 2010 ALLER DÉCLARER @dt RENDEZ-VOUS AMOUREUX=avoir un rendez-vous(); SÉLECTIONNER dbo.fnCONVERT( @dt,156) – 23 décembre 2010 ALLER / * Msg 281, niveau 16, état 1, ligne 1 156 n'est pas un numéro de style valide lors de la conversion de datetimeoffset à une chaîne de caractères.
Structured content
Exécutez les scripts de formatage de date / heure Microsoft SQL Server T-SQL suivants dans l'éditeur de requêtes Management Studio pour illustrer l'utilisation de la multitude de formats de données temporels disponibles et l'application des fonctions date / date / heure. – Obtenir la date uniquement à partir de la date / heure – SYNTAXE RAPIDE SÉLECTIONNER DATEADD(jj, 0, DATE DIFF(jj, 0, CURRENT_TIMESTAMP)) – 2016-10-23 00: 00: 00.000 ————– Formats de date et de date et heure de SQL Server T-SQL – Calendrier grégorien – Calendrier chrétien – getdate () / CURRENT_TIMESTAMP (ANSI) renvoie la date et l'heure du système au format standard– Formats SQL date / heure avec siècle (format YYYY ou CCYY) – Format sql date et heure SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 100) – lundi jj aaaa hh: mmAM (ou PM) – 2 oct 2010 11:01 SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 101) – mm / jj / aaaa – 10/02/2010 SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 102) – aaaa.mm.jj – 2010.10.02 SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 103) – jj / mm / aaaa SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 104) – jj.mm.aaaa SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 105) – jj-mm-aaaa SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 106) – dd mon yyyy SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 107) – mon dd, yyyy SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 108) – hh: mm: ss SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 109) – lundi jj aaaa hh: mm: ss: mmmAM (ou PM) – 2 oct 2010 11: 02: 44: 013AM SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 110) – mm-jj-aaaa SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 111) – aaaa / mm / jj – aaaammjj – Format de date ISO – Norme internationale – Fonctionne avec n’importe quel paramètre de langue SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 112) – aaaammjj SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 113) – jj lundi aaaa hh: mm: ss: mmm – 02 oct 2010 11: 02: 07: 577 SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 114) – hh: mm: ss: mmm (24h) SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 120) – aaaa-mm-jj hh: mm: ss (24h) SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 121) – aaaa-mm-jj hh: mm: ss.mmm SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 126) – aaaa-mm-jjThh: mm: ss.mmm – ISO8601 – 2010-10-02T10: 52: 47.513 SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 127) – aaaa-mm-jjThh: mm: ss.mmmZ – avec fuseau horaire SÉLECTIONNER convertir(nvarchar (64), avoir un rendez-vous(), 130) – Date du hijri arabe – 29 juin 1433 1: 13: 04: 633AM: SÉLECTIONNER convertir(Nvarchar, avoir un rendez-vous(), 131) – Date du hijri arabe – Calendrier islamique – 29/05/1433 12: 57: 26: 690 AM – Sans la conversion date / date heure (YY) – il y a des exceptions! SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 0) – lundi jj aaaa hh: mmAM (ou PM) SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 1) – mm / jj / aa SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 2) – aa.mm.jj SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 3) – jj / mm / aa SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 4) – jj.mm.aa SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 5) – jj-mm-aa SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 6) – jj mon yy SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 7) – mon dd, yy SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 8) – hh: mm: ss SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 9) – lundi jj aaaa hh: mm: ss: mmmAM (ou PM) SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), dix) – mm-jj-aa SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 11) – aa / mm / jj SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 12) – yymmdd SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 13) – jj lundi aaaa hh: mm: ss: mmm SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 14) – hh: mm: ss: mmm (24h) SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 20) – aaaa-mm-jj hh: mm: ss (24h) SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 21) – aaaa-mm-jj hh: mm: ss.mmm SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 22) – mm / jj / aa hh: mm: ss AM (ou PM) SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 23) – aaaa-mm-jj SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 24) – hh: mm: ss SÉLECTIONNER convertir(varchar, avoir un rendez-vous(), 25) – aaaa-mm-jj hh: mm: ss.mmm – SQL crée différents styles de date avec des fonctions de chaîne t-sql SÉLECTIONNER remplacer(convertir(varchar, avoir un rendez-vous(), 111), '/', '') – aaaa mm jj SÉLECTIONNER convertir(varchar(7), avoir un rendez-vous(), 126) – aaaa-mm SÉLECTIONNER droite(convertir(varchar, avoir un rendez-vous(), 106), 8) – mon aaaaSÉLECTIONNER sous-chaîne(convertir(varchar, avoir un rendez-vous(), 120),6, 11) – mm-jj hh: mm———- – Calcul de minuit actuel (aujourd'hui) – Suppression de la partie heure de datetime – Date d'aujourd'hui sans heure – date-heure sans heure DÉCLARER @CurrentMidnight date / heure = dateadd(journée, daté(journée,0, CURRENT_TIMESTAMP), 0) SÉLECTIONNER @CurrentMidnight – 2012-03-15 00: 00: 00.000 ———- ———— – Fonction de formatage de date SQL Server – convertir une date / heure en chaîne ———— – Fonctions datetime SQL – Fonctions dattes SQL – Formatage datetime SQL Server – Dates de conversion T-SQL – Formats de date T-SQL – Formats de date Transact-SQL CRÉER UNE FONCTION dbo.fnFormatDate (@Datetime DATETIME, @FormatMask VARCHAR(32)) RÉSULTATS VARCHAR(32) COMME COMMENCER DÉCLARER @StringDate VARCHAR(32) ENSEMBLE @StringDate = @FormatMask SI (CHARINDEX ('AAAA',@StringDate) > 0) ENSEMBLE @StringDate = REMPLACER(@StringDate, 'AAAA', DATENAME(AA, @Datetime)) SI (CHARINDEX ('YY',@StringDate) > 0) ENSEMBLE @StringDate = REMPLACER(@StringDate, 'YY', DROITE(DATENAME(AA, @Datetime),2)) SI (CHARINDEX ('Mois',@StringDate) > 0) ENSEMBLE @StringDate = REMPLACER(@StringDate, 'Mois', DATENAME(MM, @Datetime)) SI (CHARINDEX ('LUN',@StringDate COLLATIONNER SQL_Latin1_General_CP1_CS_AS)>0) ENSEMBLE @StringDate = REMPLACER(@StringDate, 'LUN', LA GAUCHE(PLUS HAUT(DATENAME(MM, @Datetime)),3)) SI (CHARINDEX ('Lun',@StringDate) > 0) ENSEMBLE @StringDate = REMPLACER(@StringDate, 'Lun', LA GAUCHE(DATENAME(MM, @Datetime),3)) SI (CHARINDEX ('MM',@StringDate) > 0) ENSEMBLE @StringDate = REMPLACER(@StringDate, 'MM', DROITE('0'+CONVERTIR(VARCHAR,DATEPART(MM, @Datetime)),2)) SI (CHARINDEX ('M',@StringDate) > 0) ENSEMBLE @StringDate = REMPLACER(@StringDate, 'M', CONVERTIR(VARCHAR,DATEPART(MM, @Datetime))) SI (CHARINDEX ('DD',@StringDate) > 0) ENSEMBLE @StringDate = REMPLACER(@StringDate, 'DD', DROITE('0'+DATENAME(DD, @Datetime),2)) SI (CHARINDEX ('RÉ',@StringDate) > 0) ENSEMBLE @StringDate = REMPLACER(@StringDate, 'RÉ', DATENAME(DD, @Datetime)) REVENIR @StringDate FIN ALLER – Test de la fonction de format de date Microsoft SQL Server – Date de formatage MSSQL – Date et heure SQL SÉLECTIONNER dbo.fnFormatDate (avoir un rendez-vous(), 'MM / JJ / AAAA') – 01/03/2012 SÉLECTIONNER dbo.fnFormatDate (avoir un rendez-vous(), 'JJ / MM / AAAA') – 03/01/2012 SÉLECTIONNER dbo.fnFormatDate (avoir un rendez-vous(), 'M / JJ / AAAA') – 1/03/2012 SÉLECTIONNER dbo.fnFormatDate (avoir un rendez-vous(), 'M / D / YYYY') – 1/3/2012 SÉLECTIONNER dbo.fnFormatDate (avoir un rendez-vous(), 'M / D / YY') – 1/3/12 SÉLECTIONNER dbo.fnFormatDate (avoir un rendez-vous(), 'MM / JJ / AA') – 01/03/12 SÉLECTIONNER dbo.fnFormatDate (avoir un rendez-vous(), 'MON JJ, AAAA') – 03 JAN 2012 SÉLECTIONNER dbo.fnFormatDate (avoir un rendez-vous(), 'Mon JJ, AAAA') – 03 janvier 2012 SÉLECTIONNER dbo.fnFormatDate (avoir un rendez-vous(), 'Mois JJ, AAAA') – 03 janvier 2012 SÉLECTIONNER dbo.fnFormatDate (avoir un rendez-vous(), 'AAAA / MM / JJ') – 2012/01/03 SÉLECTIONNER dbo.fnFormatDate (avoir un rendez-vous(), 'AAAAMMJJ') – 20120103 SÉLECTIONNER dbo.fnFormatDate (avoir un rendez-vous(), 'AAAA-MM-JJ') – 2012-01-03 – CURRENT_TIMESTAMP renvoie la date et l'heure actuelles du système au format interne standard SÉLECTIONNER dbo.fnFormatDate (CURRENT_TIMESTAMP,'YY.MM.DD') – 12.01.03 ————
– Convertir la date en format entier DÉCLARER @rendez-vous amoureux comme DATETIME = CURRENT_TIMESTAMP; SÉLECTIONNER CONVERTIR(int, CONVERTIR(carboniser(8), @rendez-vous amoureux, 112)) COMME DateInt – 20120312 ———— / ***** FORMATS SQL DE DATE / DATETIME SQL SÉLECTIONNÉS ***** / – Format SQL date / heure – – sql hh mm ss – sql aaaa mm jj – Format par défaut: 23 oct 2006 10 h 40 SÉLECTIONNER [Default]=CONVERTIR(varchar,AVOIR UN RENDEZ-VOUS(),100) – Format américain: 10/23/2006 SÉLECTIONNER [US-Style]=CONVERTIR(carboniser,AVOIR UN RENDEZ-VOUS(),101) – Format ANSI: 2006.10.23 SÉLECTIONNER [ANSI]=CONVERTIR(carboniser,CURRENT_TIMESTAMP,102) – Format UK-Style: 23/10/2006 SÉLECTIONNER [UK-Style]=CONVERTIR(carboniser,AVOIR UN RENDEZ-VOUS(),103) – format allemand: 23.10.2006 SÉLECTIONNER [German]=CONVERTIR(varchar,AVOIR UN RENDEZ-VOUS(),104) – Format ISO: 20061023 SÉLECTIONNER ISO=CONVERTIR(varchar,AVOIR UN RENDEZ-VOUS(),112) – Format ISO8601: 2010-10-23T19: 20: 16,003 SÉLECTIONNER [ISO8601]=CONVERTIR(varchar,AVOIR UN RENDEZ-VOUS(),126) ————
———— – Conversion de date islamique ———— – date grégorienne SÉLECTIONNER CONVERTIR(VARCHAR(36), AVOIR UN RENDEZ-VOUS(), 109) – 17 mars 2012, 19h27: 19h07 – Date islamique / hijri SÉLECTIONNER CONVERTIR(NVARCHAR(36), AVOIR UN RENDEZ-VOUS(), 130) – 24 février 1433 9: 27: 19: 0h30 SÉLECTIONNER CONVERTIR(VARCHAR(36), AVOIR UN RENDEZ-VOUS(), 131) – 24/04/1433 9: 27: 19: 0h30 ————
– Formats de date et heure SQL Server – Dates de format SQL Server 2005/2008 – Utilisation du format MM / JJ / AAAA dans une requête au format de date siècle SÉLECTIONNER HAUT (1) SalesOrderID, Date de commande = CONVERTIR(carboniser(dix), Date de commande, 101), OrderDateTime = Date de commande DE AdventureWorks.Ventes.SalesOrderHeader / * SalesOrderID OrderDate OrderDateTime 43697 01/07/2001 2001-07-01 00: 00: 00.000 * /
– colonne de mise à jour SQL datetime – SQL datetime DATEADD – fonction datetime METTRE À JOUR Production.Produit ENSEMBLE Date modifiée=DATEADD(jj,1, Date modifiée) OÙ ID de produit = 1001
– Format de date MM / JJ / AA – Format date et heure sql SÉLECTIONNER HAUT (1) SalesOrderID, Date de commande = CONVERTIR(varchar(8), Date de commande, 1), OrderDateTime = Date de commande DE AdventureWorks.Ventes.SalesOrderHeader ORDRE PAR SalesOrderID desc / * SalesOrderID OrderDate OrderDateTime 75123 31/07/04 2004-07-31 00: 00: 00.000 * / ———— – Conversion de l'horodatage UNIX en date / heure DÉCLARER @Rendez-vous amoureux BIGINT = 1477180800 / * (Heure UNIX = 1477180800 -> minuit, le 23 octobre 2016) * / SÉLECTIONNER DATEADD(ss, @Rendez-vous amoureux, '19700101') – 2016-10-23 00: 00: 00.000 ———— – SQL convertit date / heure en caractère – concaténation de chaînes de date sql: opérateur + (plus) IMPRESSION 'Style 110:'+CONVERTIR(CARBONISER(dix),AVOIR UN RENDEZ-VOUS(),110) – Style 110: 07-10-2012 IMPRESSION 'Style 111:'+CONVERTIR(CARBONISER(dix),AVOIR UN RENDEZ-VOUS(),111) – Style 111: 2012/07/10 IMPRESSION 'Style 112:'+CONVERTIR(CARBONISER(8), AVOIR UN RENDEZ-VOUS(),112) – Style 112: 20120710 ———— – Combinaison de différents formats de style pour la date et l'heure – Formats de date / heure – Format de fois sql – Formats de date / heure sql DÉCLARER @Rendez-vous amoureux DATETIME ENSEMBLE @Rendez-vous amoureux = '2015-12-22 15:51' SÉLECTIONNER CONVERTIR(CARBONISER(dix),@Rendez-vous amoureux,110) + SUBSTRING(CONVERTIR(varchar,@Rendez-vous amoureux,0),12,8) – Résultat: 12-22-2015 15:51
– Microsoft SQL Server transforme la date / heure en chaîne SÉLECTIONNER stringDateTime=JETER (avoir un rendez-vous() comme varchar) – Résultat: 29 déc. 2012 03:47 Article associé: Fonctions de date et d'heure (Transact-SQL)
———— – Vue d'ensemble des fonctions de date et d'heure de SQL Server ———— – fonction SQL Server CURRENT_TIMESTAMP – Fonctions SQL Server datetime – Local NYC – EST – Fuseau horaire Eastern – Fonction SQL DATEADD – Fonction SQL DATEDIFF SÉLECTIONNER CURRENT_TIMESTAMP – 2012-01-05 07: 02: 10.577 – Fonction SQL Server DATEADD SÉLECTIONNER DATEADD(mois,2,'2012-12-09') – 2013-02-09 00: 00: 00.000 – Fonction SQL Server DATEDIFF SÉLECTIONNER DATE DIFF(journée,'2012-12-09','2013-02-09') – 62 – Fonction SQL Server DATENAME SÉLECTIONNER DATENAME(mois, '2012-12-09') – décembre SÉLECTIONNER DATENAME(jour de la semaine, '2012-12-09') — Dimanche – Fonction SQL Server DATEPART SÉLECTIONNER DATEPART(mois, '2012-12-09') – 12 – Fonction SQL Server DAY SÉLECTIONNER JOURNÉE('2012-12-09') – 9 – Fonction SQL Server GETDATE – heure locale NYC – EST – fuseau horaire de l’Est SÉLECTIONNER AVOIR UN RENDEZ-VOUS() – 2012-01-05 07: 02: 10.577 – Fonction SQL Server GETUTCDATE – Heure de Greenwich à Londres SÉLECTIONNER GETUTCDATE() – 2012-01-05 12: 02: 10.577 – Fonction SQL Server MONTH SÉLECTIONNER MOIS('2012-12-09') – 12 – Fonction SQL Server YEAR SÉLECTIONNER ANNÉE('2012-12-09') – 2012
———— – Fonction universelle CONVERT – Conversion de date / heure UDF ———— CRÉER UNE FONCTION fnCONVERT( @Contribution datetimeoffset, @StyleNo int) RÉSULTATS Nvarchar(35) COMME COMMENCER REVENIR (CONVERTIR(Nvarchar(35), @Contribution, @StyleNo)) FIN ALLER DÉCLARER @dt RENDEZ-VOUS AMOUREUX=avoir un rendez-vous(); SÉLECTIONNER dbo.fnCONVERT( @dt,106) – 23 décembre 2010 ALLER DÉCLARER @dt RENDEZ-VOUS AMOUREUX=avoir un rendez-vous(); SÉLECTIONNER dbo.fnCONVERT( @dt,156) – 23 décembre 2010 ALLER / * Msg 281, niveau 16, état 1, ligne 1 156 n'est pas un numéro de style valide lors de la conversion de datetimeoffset à une chaîne de caractères. * / DÉCLARER @dt DATETIME=avoir un rendez-vous(); SÉLECTIONNER dbo.fnCONVERT( @dt,112) – 20101223 ALLER DÉCLARER @dt Petit délai=avoir un rendez-vous(); SÉLECTIONNER dbo.fnCONVERT( @dt,101) – 23/12/2010 ALLER ———— ———— – SQL calcule le nombre de jours ouvrables – exclut les samedis et dimanches ———— CRÉER UNE FONCTION fnBusinessDaysCount (@Date de début RENDEZ-VOUS AMOUREUX, @Date de fin RENDEZ-VOUS AMOUREUX) RÉSULTATS INT COMME COMMENCER SI (@Date de début EST NUL OU @Date de fin EST NUL) REVENIR (0) DÉCLARER @je INT = 0; TANDIS QUE (@Date de début <= @Date de fin) COMMENCER ENSEMBLE @je = @je + CAS QUAND datepart(dw,@Date de début) ENTRE 2 ET 6 PUIS 1 AUTRE 0 FIN ENSEMBLE @Date de début = DATEADD(jj,1,@Date de début) FIN — tandis que REVENIR (@je) FIN — une fonction ALLER SÉLECTIONNER dbo.fnBusinessDaysCount('2016-01-01','2016-12-31') – 261 ———— ———— – Application de la fonction Date et heure T-SQL – CURRENT_TIMESTAMP et getdate () sont identiques dans T-SQL ———— – T-SQL premier jour de la semaine et dernier jour de la semaine SÉLECTIONNER FirstDateOfWeek = dateadd(jj, –DATEPART(dw,AVOIR UN RENDEZ-VOUS()) + 1,AVOIR UN RENDEZ-VOUS()) SÉLECTIONNER LastDateOfWeek = dateadd(jj,7 – DATEPART(dw,AVOIR UN RENDEZ-VOUS()),AVOIR UN RENDEZ-VOUS()) – SQL premier jour du mois – SQL première date du mois – SQL premier jour du mois en cours – 2012-01-01 00: 00: 00.000 SÉLECTIONNER DATEADD(jj,0,DATEADD(mm, DATE DIFF(mm,0,CURRENT_TIMESTAMP),0)) – SQL dernier jour du mois – SQL dernière date du mois – SQL dernier jour du mois en cours – 2012-01-31 00: 00: 00.000 SÉLECTIONNER DATEADD(jj, –1,DATEADD(mm, DATE DIFF(mm,0,CURRENT_TIMESTAMP) +1,0)) – SQL premier jour du mois dernier – SQL premier jour du mois précédent – 2011-12-01 00: 00: 00.000 SÉLECTIONNER DATEADD(mm, –1,DATEADD(mm, DATE DIFF(mm,0,CURRENT_TIMESTAMP),0)) – SQL dernier jour du mois dernier – SQL dernier jour du mois précédent – 2011-12-31 00: 00: 00.000 SÉLECTIONNER DATEADD(jj, –1,DATEADD(mm, DATE DIFF(mm,0,DATEADD(MM, –1,AVOIR UN RENDEZ-VOUS())) +1,0)) – SQL premier jour du mois prochain – 2012-02-01 00: 00: 00.000 SÉLECTIONNER DATEADD(mm,1,DATEADD(mm, DATE DIFF(mm,0,CURRENT_TIMESTAMP),0)) – SQL dernier jour du mois prochain – 2012-02-28 00: 00: 00.000 SÉLECTIONNER DATEADD(jj, –1,DATEADD(mm, DATE DIFF(mm,0,DATEADD(MM,1,AVOIR UN RENDEZ-VOUS())) +1,0)) ALLER – SQL premier jour du mois – 2012-10-01 00: 00: 00.000 DÉCLARER @Rendez-vous amoureux date / heure; ENSEMBLE @Rendez-vous amoureux = '2012-10-23' SÉLECTIONNER DATEADD(jj,0,DATEADD(mm, DATE DIFF(mm,0,@Rendez-vous amoureux),0)) ALLER – SQL dernier jour du mois – 2012-03-31 00: 00: 00.000 DÉCLARER @Rendez-vous amoureux date / heure; ENSEMBLE @Rendez-vous amoureux = '2012-03-15' SÉLECTIONNER DATEADD(jj, –1,DATEADD(mm, DATE DIFF(mm,0,@Rendez-vous amoureux) +1,0))ALLER – Premier jour de l'année SQL – Premier jour de l'année SQL – 2012-01-01 00: 00: 00.000 SÉLECTIONNER DATEADD(yy, DATE DIFF(yy,0,CURRENT_TIMESTAMP), 0) – SQL dernier jour de l'année – SQL dernier jour de l'année – 2012-12-31 00: 00: 00.000 SÉLECTIONNER DATEADD(yy,1, DATEADD(jj, –1, DATEADD(yy, DATE DIFF(yy,0,CURRENT_TIMESTAMP), 0))) – SQL dernier jour de l'année dernière – SQL dernier jour de l'année précédente – 2011-12-31 00: 00: 00.000 SÉLECTIONNER DATEADD(jj, –1,DATEADD(yy,DATE DIFF(yy,0,CURRENT_TIMESTAMP), 0))ALLER ————
– Premier et dernier jour des périodes de date DÉCLARER @Rendez-vous amoureux DATETIME; ENSEMBLE = @Rendez-vous amoureux = '20161023'; SÉLECTIONNER Date de référence = @Rendez-vous amoureux SÉLECTIONNER FirstDayOfYear = DATEADD(AA, DATE DIFF(AA,0, @Rendez-vous amoureux),0) SÉLECTIONNER LastDayOfYear = DATEADD(AA, DATE DIFF(AA,0, @Rendez-vous amoureux) +1, –1) SÉLECTIONNER Premier jour du printemps = DATEADD(QQ(((DATE DIFF(QQ,0,@Rendez-vous amoureux) /2) *2),0) SÉLECTIONNER LastDayOfSemester = DATEADD(QQ(((DATE DIFF(QQ,0,@Rendez-vous amoureux) /2) *2) +2, –1) SÉLECTIONNER FirstDayOfQuarter = DATEADD(QQ, DATE DIFF(QQ,0, @Rendez-vous amoureux),0) – 2016-10-01 00: 00: 00.000 SÉLECTIONNER LastDayOfQuarter = DATEADD(QQ, DATE DIFF(QQ,0, @Rendez-vous amoureux) +1, –1) – 2016-12-31 00: 00: 00.000 SÉLECTIONNER Premier jour du mois = DATEADD(MM, DATE DIFF(MM,0, @Rendez-vous amoureux),0) SÉLECTIONNER LastDayOfMonth = DATEADD(MM, DATE DIFF(MM,0, @Rendez-vous amoureux) +1, –1) SÉLECTIONNER Premier jour de la semaine = DATEADD(WK, DATE DIFF(WK,0, @Rendez-vous amoureux),0) SÉLECTIONNER LastDayOfWeek = DATEADD(WK, DATE DIFF(WK,0, @Rendez-vous amoureux) +1, –1) – 2016-10-30 00: 00: 00.000 ———— – Début de la semaine DIMANCHE – Paramètres de langue US_english – SÉLECTIONNER CURRENT_TIMESTAMP, DATEADD (la semaine, DATE DIFF(la semaine,6, CURRENT_TIMESTAMP),6) – Fin de semaine SAMEDI SÉLECTIONNER CURRENT_TIMESTAMP, DATEADD (la semaine, DATE DIFF(la semaine,5, CURRENT_TIMESTAMP),5) ———— – SQL calcule l’âge en années, mois et jours – Format des dates SQL Server 2008 – Fonction de table SQL – Fonction SQL définie par l'utilisateur – UDF – Calcul de l'âge SQL Server – différence de date UTILISATION AdventureWorks2008; ALLER CRÉER UNE FONCTION fnAge (@Date de naissance DATETIME) RÉSULTATS @Âge TABLE(Années INT, Mois INT, Journées INT) COMME COMMENCER DÉCLARER @Date de fin DATETIME, @Anniversaire DATETIME ENSEMBLE @Date de fin = Avoir un rendez-vous() ENSEMBLE @Anniversaire = Dateadd(yy,Daté(yy,@Date de naissance,@Date de fin),@Date de naissance) INSÉRER @Âge SÉLECTIONNER Daté(yy,@Date de naissance,@Date de fin) – (CAS QUAND @Anniversaire > @Date de fin PUIS 1 AUTRE 0 FIN), 0, 0 METTRE À JOUR @Âge ENSEMBLE Mois = Mois(@Date de fin – @Anniversaire) – 1 METTRE À JOUR @Âge ENSEMBLE Journées = journée(@Date de fin – @Anniversaire) – 1 REVENIR FIN ALLER – Test UDF valeur table SÉLECTIONNER * DE fnAge('1956-10-23') SÉLECTIONNER * DE dbo.fnAge('1956-10-23') /* Résultats Années Mois Jours 52 4 1 * /
———- – La date SQL est comprise entre ———- – SQL entre les dates UTILISATION AdventureWorks; – SQL entre SÉLECTIONNER OP=COMPTER(*) DE Achat.PurchaseOrderHeader OÙ Date de commande ENTRE '20040301' ET '20040315' – Résultat: 108 – L'opérateur BETWEEN est équivalent à> = … AND …. <= SÉLECTIONNER OP=COMPTER(*) DE Achat.PurchaseOrderHeader OÙ Date de commande ENTRE '2004-03-01 00: 00: 00.000' ET '2004-03-15 00: 00: 00.000' / * Commandes avec OrderDates '2004-03-15 00: 00: 01.000' – 1 seconde après minuit (00h00) '2004-03-15 00: 01: 00.000' – 1 minute après minuit '2004-03-15 01: 00: 00.000' – 1 heure après minuit ne sont pas inclus dans les deux requêtes ci-dessus. * / – Pour inclure toute la journée du 2004-03-15, utilisez les deux solutions suivantes. SÉLECTIONNER OP=COMPTER(*) DE Achat.PurchaseOrderHeader OÙ Date de commande > = '20040301' ET Date de commande < '20040316' – SQL entre avec type DATE (SQL Server 2008) SÉLECTIONNER OP=COMPTER(*) DE Achat.PurchaseOrderHeader OÙ CONVERTIR(RENDEZ-VOUS AMOUREUX, Date de commande) ENTRE '20040301' ET '20040315' ———- – Conversion de format non standard: 14 décembre 2011 – date-heure SQL en chaîne SÉLECTIONNER [YYYY Month DD] = JETER(ANNÉE(AVOIR UN RENDEZ-VOUS()) COMME VARCHAR(4)) + ''+ DATENAME(MM, AVOIR UN RENDEZ-VOUS()) + '' + JETER(JOURNÉE(AVOIR UN RENDEZ-VOUS()) COMME VARCHAR(2)) – Conversion de la date / heure au format AAAAMMJJHHMMSS: 20121214172638 SÉLECTIONNER remplacer(convertir(varchar, avoir un rendez-vous(),111),'/','') + remplacer(convertir(varchar, avoir un rendez-vous(),108),':','') – Conversion du format personnalisé Datetime en YYYY_MM_DD sélectionner Date actuelle=rtrim(année(avoir un rendez-vous())) + '_' + droite('0' + rtrim(mois(avoir un rendez-vous())),2) + '_' + droite('0' + rtrim(journée(avoir un rendez-vous())),2) – Conversion de secondes au format HH: MM: SS déclarer @Secondes int ensemble @Secondes = 10000 sélectionner TimeSpan= droit ('0' +rtrim(@Secondes / 3600),2) + ':' + droite('0' + rtrim((@Secondes % 3600) / 60),2) + ':' + droite('0' + rtrim(@Secondes % 60),2) – Résultat: 02:46:40 — Résultat du test sélectionner 2*3600 + 46*60 + 40 – Résultat: 10000 – Définissez la partie heure d'une valeur datetime sur 00: 00: 00.000 – Heure de bande SQL à partir de la date – Temps de bande SQL à partir de l'heure SÉLECTIONNER CURRENT_TIMESTAMP ,DATEADD(jj, DATE DIFF(jj, 0, CURRENT_TIMESTAMP), 0) – Résultats: 2014-01-23 05: 35: 52.793 2014-01-23 00: 00: 00.000 / * PLAGES DE DATE VALIDES POUR LES TYPES DE DONNÉES DATE / DATETIME SMALLDATETIME (4 octets) plage de dates: 1er janvier 1900 au 6 juin 2079 DATETIME (8 octets) plage de dates: Du 1er janvier 1753 au 31 décembre 9999 Plage de dates DATETIME2 (8 octets) (SQL Server 2008): 1er janvier au 31 décembre 9999 Plage de dates DATE (3 octets) (SQL Server 2008): 1er janvier au 31 décembre 9999 ******* / – Sélection avec CONVERT dans différents styles – Remarque: seuls les styles Japon et ISO peuvent être utilisés dans ORDER BY. SÉLECTIONNER HAUT(1) Italie = CONVERTIR(varchar, Date de commande, 105) , Etats-Unis = CONVERTIR(varchar, Date de commande, 110) , Japon = CONVERTIR(varchar, Date de commande, 111) , ISO = CONVERTIR(varchar, Date de commande, 112) DE AdventureWorks.Achat.PurchaseOrderHeader ORDRE PAR PurchaseOrderID DESC /* Résultats Italie USA Japon ISO 25-07-2004 07-25-2004 2004/07/25 20040725 * / – SQL Server convertit la date en entier DÉCLARER @Datetime date / heure ENSEMBLE @Datetime = '2012-10-23 10: 21: 05.345' SÉLECTIONNER DateAsInteger = JETER (CONVERTIR(varchar,@Datetime,112) comme INT) – Résultat: 20121023 – SQL Server convertit un entier en date-heure DÉCLARER @intDate int ENSEMBLE @intDate = 20120315 SÉLECTIONNER IntegerToDatetime = JETER(JETER(@intDate comme varchar) comme date / heure) – Résultat: 2012-03-15 00: 00: 00.000 ————- – Date julienne (AAAAJJJ) au convertisseur date / date / heure ———— CRÉER UNE FONCTION dbo.fnJulianToDate (@JulianDt carboniser(7)) RÉSULTATS rendez-vous amoureux COMME COMMENCER REVENIR (SÉLECTIONNER DATEADD(journée, JETER(DROITE(@JulianDt,3) COMME int) – 1, CONVERTIR(date / heure, LA GAUCHE(@JulianDt,4) + '0101', 112))) FIN ALLER SÉLECTIONNER dbo.fnJulianToDate ('2016040') – 2016-02-09 ———— ———– – Script SQL Server CONVERT appliquant la table INSERT / UPDATE ———— – date de conversion de SQL Server – La colonne Date / heure est convertie en colonne de type Date uniquement UTILISATION tempdb; ALLER CRÉER TABLE sqlConvertDateTime ( DatetimeCol date / heure, DateCol carboniser(8)); INSÉRER sqlConvertDateTime (DatetimeCol) SÉLECTIONNER AVOIR UN RENDEZ-VOUS() METTRE À JOUR sqlConvertDateTime ENSEMBLE DateCol = CONVERTIR(carboniser(dix), DatetimeCol, 112) SÉLECTIONNER * DE sqlConvertDateTime – SQL Server convertit la date et l'heure – La colonne de date de chaîne est convertie en colonne datetime METTRE À JOUR sqlConvertDateTime ENSEMBLE DatetimeCol = CONVERTIR(Date / heure, DateCol, 112) SÉLECTIONNER * DE sqlConvertDateTime – Ajout d’un jour à la colonne datetime convertie avec DATEADD METTRE À JOUR sqlConvertDateTime ENSEMBLE DatetimeCol = DATEADD(journée, 1, CONVERTIR(Date / heure, DateCol, 112)) SÉLECTIONNER * DE sqlConvertDateTime – formulation équivalente – Date et heure SQL Server CAST METTRE À JOUR sqlConvertDateTime ENSEMBLE DatetimeCol = DATEADD(jj, 1, JETER(DateCol COMME date / heure)) SÉLECTIONNER * DE sqlConvertDateTime ALLER LAISSEZ TOMBER TABLE sqlConvertDateTime ALLER / * Premiers résultats DatetimeCol DateCol 2014-12-25 16: 04: 15.373 20141225 * / / * Deuxième résultat: DatetimeCol DateCol 2014-12-25 00: 00: 00.000 20141225 * / / * Troisième résultats: DatetimeCol DateCol 2014-12-26 00: 00: 00.000 20141225 * / ———— – Séquence de mois SQL – Génération de séquence de dates SQL avec une variable de table – Chaîne de transtypage SQL Server en date-heure – Datetime en chaîne SQL Server en chaîne – Méthode SQL Server d'insertion de valeurs par défaut DÉCLARER @Séquence table (Séquence int identité(1,1)) DÉCLARER @je int; ENSEMBLE @je = 0 DÉCLARER @Date de début date / heure; ENSEMBLE @Date de début = JETER(CONVERTIR(varchar, année(avoir un rendez-vous())) + DROITE('0'+convertir(varchar,mois(avoir un rendez-vous())),2) + '01' COMME DATETIME) TANDIS QUE ( @je < 120) COMMENCER INSÉRER @Séquence DÉFAUT VALEURS ENSEMBLE @je = @je + 1 FIN SÉLECTIONNER Séquence de mois = JETER(DATEADD(mois, Séquence,@Date de début) COMME varchar) DE @Séquence ALLER / * Résultats partiels: Séquence de mois 1 janvier 2012 12h00 1 février 2012 12h00 1 mars 2012 12h00 1 avril 2012 12h00 * / ————
———— – Stockage interne datetime SQL Server Server – Formats de date et heure SQL Server ———— – date / heure SQL Server en hexadécimal SÉLECTIONNER À présent=CURRENT_TIMESTAMP, HexNow=JETER(CURRENT_TIMESTAMP COMME BINAIRE(8)) /* Résultats Maintenant HexNow 2009-01-02 17: 35: 59.297 0x00009B850122092D * / – Partie date de SQL Server – 4 octets restants – Jours depuis le 1900-01-01 SÉLECTIONNER À présent=DATEADD(JOURNÉE, CONVERTIR(INT, 0x00009B85), '19000101') ALLER – Résultat: 2009-01-02 00: 00: 00.000 – Partie temps SQL – 4 octets à droite – millisecondes à partir de minuit – 1000/300 est un facteur d'ajustement – Date limite SQL à minuit SÉLECTIONNER À présent=DATEADD(MME, (1000.0/300) * CONVERTIR(BIGINT, 0x0122092D), '2009-01-02') ALLER – Résultat: 2009-01-02 17: 35: 59.290 ———— ———— – Utilisation des colonnes chaîne date et date / heure date & heure– Formats de date / heure SQL Server dans les tables ———— UTILISATION tempdb; ENSEMBLE NOCOUNT SUR; – SQL Server select into table create SÉLECTIONNER HAUT (5) Nom complet=convertir(Nvarchar(50),Prénom+''+Nom de famille), Date de naissance = CONVERTIR(carboniser(8), Date de naissance,112), Date modifiée = avoir un rendez-vous() DANS Employé DE AdventureWorks.Ressources humaines.Employé e INTERNE JOINDRE AdventureWorks.La personne.Contact c SUR c.ID de contact = e.ID de contact ORDRE PAR ID employé ALLER – SQL Server alter table MODIFIER TABLE Employé MODIFIER COLONNE Nom complet Nvarchar(50) NE PAS NUL ALLER MODIFIER TABLE Employé AJOUTER CONTRAINTE [PK_Employee] PRIMAIRE CLÉ (Nom complet ) ALLER /* Résultats Définition de la table Employé Remarque: Date de naissance est la date de la chaîne (uniquement) CREATE TABLE dbo.Employee ( Nom complet nvarchar (50) PAS NULL PRIMARY KEY, BirthDate char (8) NULL, ModifiedDate datetime NON NULL ) * / SÉLECTIONNER * DE Employé ORDRE PAR Nom complet ALLER /* Résultats FullName BirthDate ModifiedDate Guy Gilbert 19720515 2009-01-03 10: 10: 19.217 Kevin Brown 19770603 2009-01-03 10: 10: 19.217 Rob Walters 19650123 2009-01-03 10: 10: 19.217 Roberto Tamburello 19641213 2009-01-03 10: 10: 19.217 Thierry D'Hers 19490829 2009-01-03 10: 10: 19.217 * / – Âge du serveur SQL SÉLECTIONNER Nom complet, Âge = DATE DIFF(ANNÉE, Date de naissance, AVOIR UN RENDEZ-VOUS()), RowMaintenanceDate = JETER (Date modifiée COMME varchar) DE Employé ORDRE PAR Nom complet ALLER /* Résultats Nom complet Age RowMaintenanceDate Guy Gilbert 37 janvier 3 2009 10:10 Kevin Brown 32 Jan 3 2009 10:10 AM Rob Walters 44 3 janvier 2009 10:10 Roberto Tamburello 45 Jan 3 2009 10:10 AM Thierry D'Hers 60 Jan 3 2009 10:10 AM * / – Âge de SQL Server de Rob Walters à des dates spécifiques – Conversion implicite de chaîne SQL en datetime avec DATEADD SÉLECTIONNER AGE50DATE = DATEADD(AA, 50, '19650123') ALLER – Résultat: 2015-01-23 00: 00: 00.000 – Date / heure de SQL Server en chaîne, format italien pour ModifiedDate – Conversion implicite de chaîne SQL en datetime avec DATEDIFF SÉLECTIONNER Nom complet, AgeDEC31 = DATE DIFF(ANNÉE, Date de naissance, '20141231'), AgeJAN01 = DATE DIFF(ANNÉE, Date de naissance, '20150101'), AgeJAN23 = DATE DIFF(ANNÉE, Date de naissance, '20150123'), AgeJAN24 = DATE DIFF(ANNÉE, Date de naissance, '20150124'), ModDate = CONVERTIR(varchar, Date modifiée, 105) DE Employé OÙ Nom complet = 'Rob Walters' ORDRE PAR Nom complet ALLER /* Résultats Note importante: incréments d’âge au 1er janvier (pas aussi communément calculé) Nom complet ÂgeDEC31 ÂgeJAN01 ÂgeJAN23 ÂgeJAN24 ModDate Rob Walters 49 50 50 50 03-01-2009 * /
———— – SQL combine date et heure entières en date-heure ———— – Format date et heure sql – trucs SQL DÉCLARER @DateTimeAsINT TABLE ( ID int identité(1,1) primaire clé, DateAsint int, TimeAsINT int ) – NOTE: les zéros dans le temps sont uniquement pour la lisibilité! INSÉRER @DateTimeAsINT (DateAsint, TimeAsINT) VALEURS (20121023, 235959) INSÉRER @DateTimeAsINT (DateAsint, TimeAsINT) VALEURS (20121023, 010204) INSÉRER @DateTimeAsINT (DateAsint, TimeAsINT) VALEURS (20121023, 002350) INSÉRER @DateTimeAsINT (DateAsint, TimeAsINT) VALEURS (20121023, 000244) INSÉRER @DateTimeAsINT (DateAsint, TimeAsINT) VALEURS (20121023, 000050) INSÉRER @DateTimeAsINT (DateAsint, TimeAsINT) VALEURS (20121023, 000006) SÉLECTIONNER DateAsint, TimeAsINT, CONVERTIR(date / heure, CONVERTIR(varchar(8), DateAsint) + ''+ DES TRUCS(DES TRUCS ( DROITE(REPRODUIRE('0', 6) + CONVERTIR(varchar(6), TimeAsINT), 6), 3, 0, ':'), 6, 0, ':')) COMME DateTimeValue DE @DateTimeAsINT ORDRE PAR ID ALLER /* Résultats DateAsINT TimeAsINT DateTimeValue 20121023 235959 2012-10-23 23: 59: 59.000 20121023 10204 2012-10-23 01: 02: 04.000 20121023 2350 2012-10-23 00: 23: 50.000 20121023 244 2012-10-23 00: 02: 44.000 20121023 50 2012-10-23 00: 00: 50.000 20121023 6 2012-10-23 00: 00: 06.000 * / ———— – Chaîne SQL Server en date-heure, conversion implicite avec affectation METTRE À JOUR Employé ENSEMBLE Date modifiée = '20150123' OÙ Nom complet = 'Rob Walters' ALLER SÉLECTIONNER Date modifiée DE Employé OÙ Nom complet = 'Rob Walters' ALLER – Résultat: 2015-01-23 00: 00: 00.000 / * Date de chaîne SQL, assembler la date de chaîne à partir de parties datetime * / – Chaîne de distribution SQL Server en date-heure – Date de conversion de la chaîne SQL – Conversion de numéro SQL Server en varchar – SQL Server menant zéros au mois et au jour – Fonction de chaîne de droite SQL Server METTRE À JOUR Employé ENSEMBLE Date de naissance = CONVERTIR(carboniser(4),ANNÉE(JETER('1965-01-23' comme DATETIME))) + DROITE('0'+CONVERTIR(varchar,MOIS(JETER('1965-01-23' comme DATETIME))),2) + DROITE('0'+CONVERTIR(varchar,JOURNÉE(JETER('1965-01-23' comme DATETIME))),2) OÙ Nom complet = 'Rob Walters' ALLER SÉLECTIONNER Date de naissance DE Employé OÙ Nom complet = 'Rob Walters' ALLER – Résultat: 19650123 – Effectuer une action de nettoyage LAISSEZ TOMBER TABLE Employé – SQL nocount ENSEMBLE NOCOUNT DE; ALLER ———— ———— – fonction sql isdate ———— UTILISATION tempdb; – sql newid – tri aléatoire SÉLECTIONNER Haut(3) SalesOrderID, stringOrderDate = JETER (Date de commande COMME varchar) DANS DateValidation DE AdventureWorks.Ventes.SalesOrderHeader ORDRE PAR NEWID() ALLER SÉLECTIONNER * DE DateValidation /* Résultats SalesOrderID stringOrderDate 56720 26 oct 2003 12h00 73737 25 juin 2004 12h00 70573 14 mai 2004 12h00 * / – Mise à jour SQL avec top METTRE À JOUR HAUT(1) DateValidation ENSEMBLE stringOrderDate = 'Apb 29 2004 12:00 AM' ALLER – La chaîne SQL à datetime échoue sans validation SÉLECTIONNER SalesOrderID, Date de commande = JETER (stringOrderDate comme date / heure) DE DateValidation ALLER / * Msg 242, niveau 16, état 3, ligne 1 La conversion d’un type de données varchar en un type de données datetime a entraîné une valeur hors plage. * / – sql isdate – filtre les dates valides SÉLECTIONNER SalesOrderID, Date de commande = JETER (stringOrderDate comme date / heure) DE DateValidation OÙ DATE(stringOrderDate) = 1 ALLER /* Résultats SalesOrderID OrderDate 73737 2004-06-25 00: 00: 00.000 70573 2004-05-14 00: 00: 00.000 * / – table de dépôt SQL LAISSEZ TOMBER TABLE DateValidation Aller
———— – SELECT entre deux dates spécifiées – la partie TIME de l’hypothèse est 00: 00: 00.000 ———— – date-heure SQL entre – SQL sélectionner entre deux dates SÉLECTIONNER ID employé, RateChangeDate DE AdventureWorks.Ressources humaines.EmployeePayHistory OÙ RateChangeDate > = '1997-11-01' ET RateChangeDate < DATEADD(jj,1,1998-01-05) ALLER /* Résultats EmployeeID RateChangeDate 3 1997-12-12 00: 00: 00.000 4 1998-01-05 00: 00: 00.000 * / /* Équivalent à – plage de date et heure SQL SELECT EmployeeID, RateChangeDate FROM AdventureWorks.HumanResources.EmployeePayHistory WHERE RateChangeDate> = '1997-11-01 00:00:00' ET RateChangeDate <'1998-01-06 00:00:00' ALLER * / ———— – Paramètre de langue SQL datetime – Utilisation de la fonction non déterministe SQL – le résultat varie en fonction des paramètres de langue ENSEMBLE LA LANGUE 'us_english'; –– 12 janvier 2015 12:00h00 SÉLECTIONNER NOUS = convertir(VARCHAR,convertir(DATETIME,'01 / 12/2015 ')); ENSEMBLE LA LANGUE 'Britanique'; –– déc 1 2015 12:00h00 SÉLECTIONNER Royaume-Uni = convertir(VARCHAR,convertir(DATETIME,'01 / 12/2015 ')); ENSEMBLE LA LANGUE 'Allemand'; –– Dez 1 2015 12:00h00 ENSEMBLE LA LANGUE 'Deutsch'; –– Dez 1 2015 12:00h00 SÉLECTIONNER Allemagne = convertir(VARCHAR,convertir(DATETIME,'01 / 12/2015 ')); ENSEMBLE LA LANGUE 'Français'; –– déc 1 2015 12:00h00 SÉLECTIONNER France = convertir(VARCHAR,convertir(DATETIME,'01 / 12/2015 ')); ENSEMBLE LA LANGUE 'Espanol'; –– Dic 1 2015 12:00h00 SÉLECTIONNER Espagne = convertir(VARCHAR,convertir(DATETIME,'01 / 12/2015 ')); ENSEMBLE LA LANGUE 'Hongrois'; –– 12 janvier 2015 12:00h00 SÉLECTIONNER Hongrie = convertir(VARCHAR,convertir(DATETIME,'01 / 12/2015 ')); ENSEMBLE LA LANGUE 'us_english'; ALLER———— – Recherche SQL Server 2008 T-SQL lundi prochain pour une date donnée DÉCLARER @DateTime DATETIME = '2012-12-31' SÉLECTIONNER NextMondaysDate=DATEADD(jj, (DATE DIFF(jj, 0, @DateTime) / 7 * 7) + 7, 0), WeekDayName=DATENAME(dw,DATEADD(jj, (DATE DIFF(jj, 0, @DateTime) / 7 * 7) + 7, 0)); / * NextMondaysDate WeekDayName 2013-01-07 00: 00: 00.000 lundi * / ———— ———— – Fonction pour le calcul des dates du lundi ———— UTILISATION AdventureWorks2008; ALLER – fonction SQL définie par l'utilisateur – Fonction scalaire SQL – UDF CRÉER UNE FONCTION fnMondayDate (@Année INT, @Mois INT, @MondayOrdinal INT) RÉSULTATS DATETIME COMME COMMENCER DÉCLARER @FirstDayOfMonth CARBONISER(dix), @SeedDate CARBONISER(dix) ENSEMBLE @FirstDayOfMonth = convertir(VARCHAR,@Année) + '-' + convertir(VARCHAR,@Mois) + '-01' ENSEMBLE @SeedDate = '1900-01-01' REVENIR DATEADD(DD,DATE DIFF(DD,@SeedDate,DATEADD(DD, (@MondayOrdinal * 7) – 1, @FirstDayOfMonth)) / 7 * 7, @SeedDate) FIN ALLER – Test UDF Datetime – Troisième lundi de février 2015 SÉLECTIONNER dbo.fnMondayDate(2016,2,3) — 2015-02-16 00:00:00.000 — First Monday of current month SÉLECTIONNER dbo.fnMondayDate(Année(avoir un rendez-vous()),Mois(avoir un rendez-vous()),1) — 2009-02-02 00:00:00.000 ———— Articles Liés: http://www.sqlusa.com/bestpractices/datetimeconversion/ datetime (Transact-SQL) SQL Server DateTime Formatting SQL SERVER – Retrieve Current Date Time in SQL Server CURRENT_TIMESTAMP, GETDATE(), fn NOW() CAST and CONVERT
Click to rate this post! [Total: 0 Average: 0]
Topics and keywords
Themes: Serveur d'impression
License & attribution
License: CC BY-ND 4.0.
Attribution required: yes.
Manifest: https://tutos-gameserver.fr/llm-endpoints-manifest.json
LLM Endpoints plugin version 1.1.2.