Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Requête sous Visual Basic

3 réponses
Avatar
Céline BALLEREAU
Bonjour =E0 tous,

Je travaille avec un logiciel de supervision qui doit=20
faire des requ=EAtes dans une base de donn=E9es. Les requ=EAtes=20
sont r=E9alis=E9es =E0 partir d'un module Visual Basic du=20
logiciel de supervision. Auparavant je travaillais avec=20
Access et j'utilisais le language SQL suivant :=20

"SELECT DISTINCT * FROM <nom_table> WHERE=20
Format$([nom_table].[timestamp],'Short Date')
=3D'17/05/2004')"

pour r=E9aliser une requ=EAte sur un champ Timestamp et ne=20
prendre en compte que les donn=E9es date.

Aujourd'hui, je dois travailler avec SQL Server et je=20
n'arrive pas =E0 r=E9aliser la m=EAme requ=EAte avec SQL Server.
Comment faire pour r=E9aliser une requ=EAte sur un champ=20
Timestamp et ne prendre en compte dans la requ=EAte que la=20
date du champ timestamp ??

Je vous remercie d'avance.

C=E9line.

3 réponses

Avatar
Fred BROUARD
SET DATEFORMAT YMD

SELECT DISTINCT *
FROM <nom_table>
WHERE CAST(CONVERT(VARCHAR(10), MaColonneDateTime, 121) AS DATETIME) = '2004-05-17'

Il vaut mieux toujours utiliser le format ISO pour les dates et préciser au serveur le format YMD

A lire :
http://sqlpro.developpez.com/SQL_AZ_E.html#Date

A +

--
Frédéric BROUARD, MVP MS SQL Server. Expert Langage SQL / 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 *************************


Céline BALLEREAU a écrit:

Bonjour à tous,

Je travaille avec un logiciel de supervision qui doit
faire des requêtes dans une base de données. Les requêtes
sont réalisées à partir d'un module Visual Basic du
logiciel de supervision. Auparavant je travaillais avec
Access et j'utilisais le language SQL suivant :

"SELECT DISTINCT * FROM <nom_table> WHERE
Format$([nom_table].[timestamp],'Short Date')
='17/05/2004')"

pour réaliser une requête sur un champ Timestamp et ne
prendre en compte que les données date.

Aujourd'hui, je dois travailler avec SQL Server et je
n'arrive pas à réaliser la même requête avec SQL Server.
Comment faire pour réaliser une requête sur un champ
Timestamp et ne prendre en compte dans la requête que la
date du champ timestamp ??

Je vous remercie d'avance.

Céline.






Avatar
Céline BALLEREAU
Bonjour,

J'ai testé la requête avec SQL Server et j'ai un message
d'erreur :

"[Microsoft][ODBC SQL Server Driver][SQL Server]La
conversion d'un type de données CHAR en type DATETIME
a donné une valeur hors des limites des valeurs de date
et heure."

Le champ que je souhaite filtrer est de type Datetime et
de taille 8.

J'ai fait quelques tests mais en vain.

Merci d'avance,

Céline.



-----Message d'origine-----
SET DATEFORMAT YMD

SELECT DISTINCT *
FROM <nom_table>
WHERE CAST(CONVERT(VARCHAR(10), MaColonneDateTime, 121)


AS DATETIME) = '2004-05-17'

Il vaut mieux toujours utiliser le format ISO pour les


dates et préciser au serveur le format YMD

A lire :
http://sqlpro.developpez.com/SQL_AZ_E.html#Date

A +

--
Frédéric BROUARD, MVP MS SQL Server. Expert Langage SQL /


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


*************************


Céline BALLEREAU a écrit:

Bonjour à tous,

Je travaille avec un logiciel de supervision qui doit
faire des requêtes dans une base de données. Les




requêtes
sont réalisées à partir d'un module Visual Basic du
logiciel de supervision. Auparavant je travaillais avec
Access et j'utilisais le language SQL suivant :

"SELECT DISTINCT * FROM <nom_table> WHERE
Format$([nom_table].[timestamp],'Short Date')
='17/05/2004')"

pour réaliser une requête sur un champ Timestamp et




ne
prendre en compte que les données date.

Aujourd'hui, je dois travailler avec SQL Server et je
n'arrive pas à réaliser la même requête avec SQL Server.
Comment faire pour réaliser une requête sur un champ
Timestamp et ne prendre en compte dans la requête que




la
date du champ timestamp ??

Je vous remercie d'avance.

Céline.







.



Avatar
Laurent Moreau
Pour reprendre la requete de Frederic:
En comparant des données de meme type (des chaines de caracteres de chaque
coté du =)


SET DATEFORMAT YMD

SELECT DISTINCT *
FROM <nom_table>
WHERE CONVERT(VARCHAR(10), MaColonneDateTime, 121) = '2004-05-17'


Laurent.







"Céline BALLEREAU" wrote in message
news:16a3c01c44876$1792bd50$
Bonjour,

J'ai testé la requête avec SQL Server et j'ai un message
d'erreur :

"[Microsoft][ODBC SQL Server Driver][SQL Server]La
conversion d'un type de données CHAR en type DATETIME
a donné une valeur hors des limites des valeurs de date
et heure."

Le champ que je souhaite filtrer est de type Datetime et
de taille 8.

J'ai fait quelques tests mais en vain.

Merci d'avance,

Céline.



-----Message d'origine-----
SET DATEFORMAT YMD

SELECT DISTINCT *
FROM <nom_table>
WHERE CAST(CONVERT(VARCHAR(10), MaColonneDateTime, 121)


AS DATETIME) = '2004-05-17'

Il vaut mieux toujours utiliser le format ISO pour les


dates et préciser au serveur le format YMD

A lire :
http://sqlpro.developpez.com/SQL_AZ_E.html#Date

A +

--
Frédéric BROUARD, MVP MS SQL Server. Expert Langage SQL /


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


*************************


Céline BALLEREAU a écrit:

Bonjour à tous,

Je travaille avec un logiciel de supervision qui doit
faire des requêtes dans une base de données. Les




requêtes
sont réalisées à partir d'un module Visual Basic du
logiciel de supervision. Auparavant je travaillais avec
Access et j'utilisais le language SQL suivant :

"SELECT DISTINCT * FROM <nom_table> WHERE
Format$([nom_table].[timestamp],'Short Date')
='17/05/2004')"

pour réaliser une requête sur un champ Timestamp et




ne
prendre en compte que les données date.

Aujourd'hui, je dois travailler avec SQL Server et je
n'arrive pas à réaliser la même requête avec SQL Server.
Comment faire pour réaliser une requête sur un champ
Timestamp et ne prendre en compte dans la requête que




la
date du champ timestamp ??

Je vous remercie d'avance.

Céline.







.