Bonjour,
Je suis novice en SQL et je souhaiterais écrire une requête toute simple qui permettrait de faire un contrôle de cohérence de date.
Je m'explique :
J'ai une table A qui contient des dates aux format 2015-10-31 (si on prend le mois d'octobre pour exemple), et une clé primaire au format 201510.
Je souhaiterais vérifier la cohérence entre la clé primaire et toutes les autres dates converties au même format que la clé primaire.
En gros vérifier que les 6 premiers chiffres de chaque dates sont égaux à 201510 pour le mois d'octobre, etc...
Pour ça, je voudrais créer une table temporaire de booléens avec comme entête chaque colonne de ma table A, puis en dessous une ligne de booléens qui me dit "1" si la date convertie est égale à la clé primaire, "0" sinon (ou TRUE/FALSE peu importe).
Le problème c'est que je n'arrive pas à insérer une ligne de booléens dans ma table temporaire...
Voici ma requête :
Et ça me met :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 USE [TABLES] GO DECLARE @DT_arrete_check as Bit SET @DT_arrete_check = ((SELECT CONVERT(VARCHAR(6), DT_arrete, 112) FROM A WHERE [CLE]=201510) = (SELECT [CLE] FROM A WHERE [CLE]=201510)) CREATE TABLE #CHECK_DATES( [STRING][varchar](64) NOT NULL, [test][Bit] NOT NULL) INSERT INTO #CHECK_DATES VALUES('DT_arrete_check',@DT_arrete_check) SELECT * FROM #CHECK_DATES
En pointant vers le "=" de l'égalité dans le SET.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Msg 102, Level 15, State 1, Line 4 Incorrect syntax near '='.
Je reprécise que je bosse sur SQL-Server.
C'est sans doute une erreur débile mais je connais pas encore super bien ce langage et j'ai beau parcourir les forums je ne vois pas ce qui cloche...
Si l'un d'entre vous connaît le petit tips pour arriver à mes fins ce serait génial!
Merci à vous !
Partager