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
 
			
			






 
			
			
			
			 
			
				
 problème avec iif
 problème avec iif
				
				
						
						
				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 
2
3
4
5
6
7
 
 
				
				
						
						
				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 
2
3
4
5
6
7
8
 
			
			






 
			
			
			
			 
			
				
 
 
				
				
						
						
				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
 
			
			






 
			
			
			
			 
			
				
 
 
				
				
						
						
				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 
2
3
4
5
6
7
 
			
			






 
			
			
			
			 
			
				
 
 
				
				
						
						
				super ca marche merci
Partager