OVH Cloud OVH Cloud

dates avec SQL 2005 ?

2 réponses
Avatar
{ Olivier }
Bonjour

Bon c'est assez étrange les dates avec SQL 2005.

Je crée un champ de type DateTime
si je saisie directement ma date "en francais" en utilisant SQL server, pas
de problème, il veut bient et il m'affiche même la date en francais.
Par contre, pour les requetes SELECT, INSERT ou UPDATE, là, il ne veut pas
de mes dates francaises ?

Comment faire ?

Merci
Olivier
-- Script ci-dessous --

USE [master]
GO

CREATE DATABASE [DEMO] ON PRIMARY
( NAME = N'DEMO', FILENAME = N'C:\Program Files\Microsoft SQL
Server\MSSQL.1\MSSQL\DATA\DEMO.mdf' , SIZE = 3072KB , MAXSIZE = UNLIMITED,
FILEGROWTH = 1024KB )
LOG ON
( NAME = N'DEMO_log', FILENAME = N'C:\Program Files\Microsoft SQL
Server\MSSQL.1\MSSQL\DATA\DEMO_log.ldf' , SIZE = 1024KB , MAXSIZE = 2048GB ,
FILEGROWTH = 10%)
COLLATE French_CI_AI
GO
EXEC dbo.sp_dbcmptlevel @dbname=N'DEMO', @new_cmptlevel=90
GO
EXEC [DEMO].[dbo].[sp_fulltext_database] @action = 'disable'
GO

USE [DEMO]
GO

BEGIN
CREATE TABLE [dbo].[testdate](
[s_date] [datetime] NULL,
) ON [PRIMARY]
END

-- !!!!! LA CA PLANTE !!!!!!
INSERT INTO testdate (s_date) VALUES ('30/05/2000')

2 réponses

Avatar
Med Bouchenafa
Le mieux est de toujours le format 'YYYYMMDD'
il y a un bon article sur le sujet fait par Bruno sur www.frenchsql.com

--
Bien cordialement
Med Bouchenafa

"{ Olivier }" a écrit dans le message de news:
e8P9DC$
Bonjour

Bon c'est assez étrange les dates avec SQL 2005.

Je crée un champ de type DateTime
si je saisie directement ma date "en francais" en utilisant SQL server,
pas
de problème, il veut bient et il m'affiche même la date en francais.
Par contre, pour les requetes SELECT, INSERT ou UPDATE, là, il ne veut pas
de mes dates francaises ?

Comment faire ?

Merci
Olivier
-- Script ci-dessous --

USE [master]
GO

CREATE DATABASE [DEMO] ON PRIMARY
( NAME = N'DEMO', FILENAME = N'C:Program FilesMicrosoft SQL
ServerMSSQL.1MSSQLDATADEMO.mdf' , SIZE = 3072KB , MAXSIZE = UNLIMITED,
FILEGROWTH = 1024KB )
LOG ON
( NAME = N'DEMO_log', FILENAME = N'C:Program FilesMicrosoft SQL
ServerMSSQL.1MSSQLDATADEMO_log.ldf' , SIZE = 1024KB , MAXSIZE = 2048GB
,
FILEGROWTH = 10%)
COLLATE French_CI_AI
GO
EXEC dbo.sp_dbcmptlevel @dbname=N'DEMO', @new_cmptlevel
GO
EXEC [DEMO].[dbo].[sp_fulltext_database] @action = 'disable'
GO

USE [DEMO]
GO

BEGIN
CREATE TABLE [dbo].[testdate](
[s_date] [datetime] NULL,
) ON [PRIMARY]
END

-- !!!!! LA CA PLANTE !!!!!!
INSERT INTO testdate (s_date) VALUES ('30/05/2000')





Avatar
Fred BROUARD
Le "format" d'une date est un concept qui n'existe pas en SQL...

A lire sur le sujet
http://sqlpro.developpez.com/cours/sqlaz/erreurs/#L7

A +


--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************

{ Olivier } a écrit:
Bonjour

Bon c'est assez étrange les dates avec SQL 2005.

Je crée un champ de type DateTime
si je saisie directement ma date "en francais" en utilisant SQL server, pas
de problème, il veut bient et il m'affiche même la date en francais.
Par contre, pour les requetes SELECT, INSERT ou UPDATE, là, il ne veut pas
de mes dates francaises ?

Comment faire ?

Merci
Olivier
-- Script ci-dessous --

USE [master]
GO

CREATE DATABASE [DEMO] ON PRIMARY
( NAME = N'DEMO', FILENAME = N'C:Program FilesMicrosoft SQL
ServerMSSQL.1MSSQLDATADEMO.mdf' , SIZE = 3072KB , MAXSIZE = UNLIMITED,
FILEGROWTH = 1024KB )
LOG ON
( NAME = N'DEMO_log', FILENAME = N'C:Program FilesMicrosoft SQL
ServerMSSQL.1MSSQLDATADEMO_log.ldf' , SIZE = 1024KB , MAXSIZE = 2048GB ,
FILEGROWTH = 10%)
COLLATE French_CI_AI
GO
EXEC dbo.sp_dbcmptlevel @dbname=N'DEMO', @new_cmptlevel
GO
EXEC [DEMO].[dbo].[sp_fulltext_database] @action = 'disable'
GO

USE [DEMO]
GO

BEGIN
CREATE TABLE [dbo].[testdate](
[s_date] [datetime] NULL,
) ON [PRIMARY]
END

-- !!!!! LA CA PLANTE !!!!!!
INSERT INTO testdate (s_date) VALUES ('30/05/2000')