bonjour
j'arrive pas a exécuter cette requete sous sql server :
select DateEnr,M, iif(DATEPART(hour,HeureEnr) > 4,1,0) as test
from QteReel
erreur : incorrect syntax near '>'
???? merci
bonjour
j'arrive pas a exécuter cette requete sous sql server :
select DateEnr,M, iif(DATEPART(hour,HeureEnr) > 4,1,0) as test
from QteReel
erreur : incorrect syntax near '>'
???? merci
donne sous sql serveurselect DateEnr,M, iif(DATEPART(hour,HeureEnr) > 4,1,0) as test
from QteReel
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 select DateEnr,M, case when DATEPART(hour,HeureEnr) > 4 then 1 else 0 end as test from QteReel
Errare humanum est, perseverare diabolicum (Sénèque)
Normal : iif n'existe pas dans le langage SQL et par conséquent ne se trouve pas dans SQL Server. Il s'agit d'un "truc" spécifique à Access et une cochonerie équivalente ! ;-)
Dans le langage SQL qui est une norme, il y a le CASE pour répondre à ce genre de problématique. Lisez ce que j'ai écrit à ce sujet :
http://sqlpro.developpez.com/cours/sqlaz/select/#L7
A +
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
merci, par contre si je rajoute
select DateEnr,M, sum(iif(DATEPART(hour,HeureEnr) > 4,1,0))as test
from QteReel
group by DateEnr
??
le iff n'existe pas !!!!!!!!!!!!!!!!!!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SELECT DateEnr,M, SUM(case when DATEPART(hour,HeureEnr) > 4 then 1 else 0 end) AS test FROM QteReel group by DateEnr,M
Errare humanum est, perseverare diabolicum (Sénèque)
je sais cetait juste pour te rappeler la requete, j'ai bien saisi merci![]()
j'ai toujours un problème
SELECT DateEnr, M,
Sum(case
when (DATEPART(hour,DateEnr) > 4 AND DATEPART(hour,DateEnr) < 10) then 1
else 0
end) AS test
FROM QteReel
GROUP BY DateEnr, M
HAVING (((QteReel.M)='609'));
la reponse est :
DateEnr M test
.... 609 0
.... 609 1
.... 609 0
.... 609 1
.... 609 1
.... 609 1
.... 609 0
.... 609 0
....
il ne me fait pas la somme !!![]()
chui bete c bonmerci
mets la balise résolu![]()
Errare humanum est, perseverare diabolicum (Sénèque)
comment je peux convertir une chaine de caracteres en date sous sql server ?
merci
Alors pour convertir une chaine de caractère de la forme JJ/MM/AAAA tu peux faire la chose suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 select cast('01/12/2007 15:25:12' as datetime) Résultat 01/12/2007 15:25:12
La connaissance n'est rien sans celles des autres !!!
super ca marche merci
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager