Bonjour,
J'ai un champ date au format dd/mm/aaaa hh-mm-ss
Je veux sélectionner les données d'une journée sans utiliser between 1/1/2024 00:00:01 and 1/1/2024 23:59:59... car manuel
Je cherche une solution automatique genre avec getdate() -1
Merci
Version imprimable
Bonjour,
J'ai un champ date au format dd/mm/aaaa hh-mm-ss
Je veux sélectionner les données d'une journée sans utiliser between 1/1/2024 00:00:01 and 1/1/2024 23:59:59... car manuel
Je cherche une solution automatique genre avec getdate() -1
Merci
mouais la recherche google était sûrement trop épuisante à faire...
Voici une solution - il y a sûrement plus optimal
Code:BETWEEN CAST(CAST(GETDATE() AS DATE) AS DATETIME2(0)) AND DATEADD(SECOND, -1, CAST(DATEADD(DAY, 1, CAST(GETDATE() AS DATE)) AS DATETIME2(0)))
Voici un exemple :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 create table T1 ( T1ID integer primary key , T1DT char(19) not null ) insert into T1 (T1ID, T1DT) values (1, '12/02/2024 09-50-28') , (2, '28/03/2024 14-02-11') , (3, '28/03/2024 18-34-31') , (4, '30/03/2024 07-05-00') ; select T1ID , substring(T1DT, 01, 10) , convert(date, substring(T1DT, 01, 10), 103) , convert(date, getdate(), 103) from T1 where convert(date, substring(T1DT, 01, 10), 103) = convert(date, getdate(), 103)
Résultat :
Pièce jointe 652685
Bonjour,
Quand je veux trouver des lignes sur une journée entière, je fais un truc du genre dans Oracle:
Y'a pas un truc équivalent sur SQL Server, avec DATETRUNC par exemple?Code:
1
2
3 select * from t where col_date >= trunc(date_choisie) and col_date < trunc(date_choisie+1);
Le truc ici, c'est que vu que la date est de type char, on ne peut pas appliquer directement une fonction date, il faut d'abord la convertir.
Sinon il existe en effet datetrunc() qui permet de restituer une sous partie d'une date.
ça va sans dire !
Je suis en audit sur le modèle de données d'un éditeur de logiciel.... pas des moindres... bilan 3607 colonnes date sous forme de chaines de caractères !!!
A +
Je ne sais pas ce qu'on enseigne dans les écoles d'informatique, mais vu le nombre de fois où l'on trouve des dates de type char, des varchar très courts (typiquement varchar(1) !) et pire, des PK fonctionnelles et instables, il y aurait beaucoup de choses à revoir dans les programmes !
L'un des clients chez lesquels j'interviens utilise un logiciel du marché dans lequel aucune date n'est de type date et tous les identifiants sont des multicolonnes fonctionnelles de type varchar long :aie:
En 2024, nous en sommes encore là...
On avait fait un SQL frog sur les pires choses que l'on avait vu dans les bases de données de SQL Server.... la vidéo doit peut-être être encore en ligne...
https://www.datafrogs.org/blog/dataf...erverNostalgie
A +