J'ai déjà créé une fonction iif sur le modèle :
FUNCTION IIF(@Condition bit, @TruePart sql_variant, @FalsePart sql_variant)
RETURNS sql_variant AS BEGIN IF @Condition = 1 RETURN @TruePart RETURN
@FalsePart END
Malheureusement lorsque je l'utilise dans une requête, ça me renvoie une
erreur de syntaxe.
Par exemple :
select iif(monchamp=56,1,0), champ1, champ2 from matable
Comment pourrais-je utiliser ma fonction dans une requête ?
Merci.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Paul
J'ai vu qu'on pouvait utiliser CASE WHEN ... THEN ... ELSE .... END. Je vais me débrouiller avec ça.
-- Paul
"Paul" a écrit dans le message de news:
Bonjour,
J'ai déjà créé une fonction iif sur le modèle : FUNCTION IIF(@Condition bit, @TruePart sql_variant, @FalsePart
sql_variant)
RETURNS sql_variant AS BEGIN IF @Condition = 1 RETURN @TruePart RETURN @FalsePart END
Malheureusement lorsque je l'utilise dans une requête, ça me renvoie une erreur de syntaxe. Par exemple : select iif(monchampV,1,0), champ1, champ2 from matable
Comment pourrais-je utiliser ma fonction dans une requête ? Merci.
-- Paul
J'ai vu qu'on pouvait utiliser CASE WHEN ... THEN ... ELSE .... END.
Je vais me débrouiller avec ça.
--
Paul
"Paul" <paul@nopub.com> a écrit dans le message de
news:452cb351@news.sncf.fr...
Bonjour,
J'ai déjà créé une fonction iif sur le modèle :
FUNCTION IIF(@Condition bit, @TruePart sql_variant, @FalsePart
sql_variant)
RETURNS sql_variant AS BEGIN IF @Condition = 1 RETURN @TruePart RETURN
@FalsePart END
Malheureusement lorsque je l'utilise dans une requête, ça me renvoie une
erreur de syntaxe.
Par exemple :
select iif(monchampV,1,0), champ1, champ2 from matable
Comment pourrais-je utiliser ma fonction dans une requête ?
Merci.
J'ai vu qu'on pouvait utiliser CASE WHEN ... THEN ... ELSE .... END. Je vais me débrouiller avec ça.
-- Paul
"Paul" a écrit dans le message de news:
Bonjour,
J'ai déjà créé une fonction iif sur le modèle : FUNCTION IIF(@Condition bit, @TruePart sql_variant, @FalsePart
sql_variant)
RETURNS sql_variant AS BEGIN IF @Condition = 1 RETURN @TruePart RETURN @FalsePart END
Malheureusement lorsque je l'utilise dans une requête, ça me renvoie une erreur de syntaxe. Par exemple : select iif(monchampV,1,0), champ1, champ2 from matable
Comment pourrais-je utiliser ma fonction dans une requête ? Merci.
-- Paul
Fred BROUARD
Paul a écrit :
Bonjour,
J'ai déjà créé une fonction iif sur le modèle : FUNCTION IIF(@Condition bit, @TruePart sql_variant, @FalsePart sql_variant) RETURNS sql_variant AS BEGIN IF @Condition = 1 RETURN @TruePart RETURN @FalsePart END
Malheureusement lorsque je l'utilise dans une requête, ça me renvoie une erreur de syntaxe. Par exemple : select iif(monchampV,1,0), champ1, champ2 from matable
Comment pourrais-je utiliser ma fonction dans une requête ? Merci.
1) une fonction doit impérativement être préfixée par le nom de schéma auquel elle apartient (par défaut dbo)
select dbo.iif(monchampV,1,0), champ1, champ2 from matable
2) effectivement vous pouvez utiliser le CASE qui est optimisé plutôt que votre fonction. CASE fait partie de la norme SQL alors que iif n'existe pas en SQL.
A + -- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************
Paul a écrit :
Bonjour,
J'ai déjà créé une fonction iif sur le modèle :
FUNCTION IIF(@Condition bit, @TruePart sql_variant, @FalsePart sql_variant)
RETURNS sql_variant AS BEGIN IF @Condition = 1 RETURN @TruePart RETURN
@FalsePart END
Malheureusement lorsque je l'utilise dans une requête, ça me renvoie une
erreur de syntaxe.
Par exemple :
select iif(monchampV,1,0), champ1, champ2 from matable
Comment pourrais-je utiliser ma fonction dans une requête ?
Merci.
1) une fonction doit impérativement être préfixée par le nom de schéma
auquel elle apartient (par défaut dbo)
select dbo.iif(monchampV,1,0), champ1, champ2
from matable
2) effectivement vous pouvez utiliser le CASE qui est optimisé plutôt
que votre fonction. CASE fait partie de la norme SQL alors que iif
n'existe pas en SQL.
A +
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
J'ai déjà créé une fonction iif sur le modèle : FUNCTION IIF(@Condition bit, @TruePart sql_variant, @FalsePart sql_variant) RETURNS sql_variant AS BEGIN IF @Condition = 1 RETURN @TruePart RETURN @FalsePart END
Malheureusement lorsque je l'utilise dans une requête, ça me renvoie une erreur de syntaxe. Par exemple : select iif(monchampV,1,0), champ1, champ2 from matable
Comment pourrais-je utiliser ma fonction dans une requête ? Merci.
1) une fonction doit impérativement être préfixée par le nom de schéma auquel elle apartient (par défaut dbo)
select dbo.iif(monchampV,1,0), champ1, champ2 from matable
2) effectivement vous pouvez utiliser le CASE qui est optimisé plutôt que votre fonction. CASE fait partie de la norme SQL alors que iif n'existe pas en SQL.
A + -- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************
Paul
"Fred BROUARD" a écrit dans le message de news:%
1) une fonction doit impérativement être préfixée par le nom de schéma auquel elle apartient (par défaut dbo)
select dbo.iif(monchampV,1,0), champ1, champ2 from matable
2) effectivement vous pouvez utiliser le CASE qui est optimisé plutôt que votre fonction. CASE fait partie de la norme SQL alors que iif n'existe pas en SQL.
Merci pour ces informations. Le CASE marche très bien.
-- Paul
"Fred BROUARD" <brouardf@club-internet.fr> a écrit dans le message de
news:%23Ei7UkW7GHA.3384@TK2MSFTNGP05.phx.gbl...
1) une fonction doit impérativement être préfixée par le nom de schéma
auquel elle apartient (par défaut dbo)
select dbo.iif(monchampV,1,0), champ1, champ2
from matable
2) effectivement vous pouvez utiliser le CASE qui est optimisé plutôt
que votre fonction. CASE fait partie de la norme SQL alors que iif
n'existe pas en SQL.
Merci pour ces informations. Le CASE marche très bien.
1) une fonction doit impérativement être préfixée par le nom de schéma auquel elle apartient (par défaut dbo)
select dbo.iif(monchampV,1,0), champ1, champ2 from matable
2) effectivement vous pouvez utiliser le CASE qui est optimisé plutôt que votre fonction. CASE fait partie de la norme SQL alors que iif n'existe pas en SQL.
Merci pour ces informations. Le CASE marche très bien.