begin process at 2012 02 11 17:15:40
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Fonctions

 > PORTÉ IIF SUR T-SQL

PORTÉ IIF SUR T-SQL


 Information sur la source

Note :
Aucune note
Catégorie :Fonctions Classé sous :iff, tsql, sqlserver Niveau :Débutant Date de création :23/09/2005 Vu :7 640

Auteur : Malkuth

Ecrire un message privé
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

 Description

IIF est une fonction fort pratique que les utilisateur d'access peuvent vouloir retrouver sur MS SQL Server.
Voilà donc une fonction Qui fais approximativement la même chose :

Source

  • IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'[aspne2u4].[IIF]') AND xtype in (N'FN', N'IF', N'TF'))
  • DROP FUNCTION [aspne2u4].[IIF]
  • GO
  • SET QUOTED_IDENTIFIER ON
  • GO
  • SET ANSI_NULLS OFF
  • GO
  • CREATE FUNCTION IIF
  • (
  • @Condition bit,
  • @TruePart sql_variant,
  • @FalsePart sql_variant
  • )
  • RETURNS sql_variant
  • AS
  • BEGIN
  • IF @Condition = 1
  • RETURN @TruePart
  • RETURN @FalsePart
  • END
  • GO
  • SET QUOTED_IDENTIFIER OFF
  • GO
  • SET ANSI_NULLS ON
  • GO
IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id(N'[aspne2u4].[IIF]') AND xtype in (N'FN', N'IF', N'TF')) 
DROP FUNCTION [aspne2u4].[IIF]
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_NULLS OFF
GO

CREATE FUNCTION IIF
	(
		@Condition bit,
		@TruePart sql_variant,
		@FalsePart sql_variant
	)
RETURNS sql_variant
AS
	BEGIN
		IF @Condition = 1
			RETURN @TruePart
		RETURN @FalsePart
	END
GO

SET QUOTED_IDENTIFIER OFF
GO

SET ANSI_NULLS ON
GO

 Conclusion

Pour l'utilisé il faut noté le nom de la base suivie d'un point :

SELECT (NomBase.IIF(1,'Oui','Non')) AS Result


 Sources de la même categorie

Source avec Zip CONVERT NUMBER TO LETTERS par oumaya2007
Source avec Zip CALCUL UNE DIFFÉRENCE DE DATE EN FONCTION DE JOURS FÉRIÉS/TR... par Sieurcoug
Source avec Zip CONVERSION DE NOMBRE EN LETTRES (SQL) par wormlore
NO HTML BALISE [MYSQL] par abdoulax
MYSQL : FONCTION POUR GÉRER DES COMPTEURS ÉQUIVALENT AUX SÉQ... par maitredede

 Sources en rapport avec celle ci

SQL SERVER 2005 : HISTORISER LES PROCÉDURES STOCKÉES D'UNE B... par skweeky
VALIDATION DU FORMAT DU N° DE TÉLÉPHONE AVEC TSQL par bad_smi
Source avec Zip SOURCES POUR LE TUTO TEAM SYSTEM ÉDITION DBA par skweeky
DÉSACTIVER UNE CONNEXION (LOGIN) SUR SQL SERVER par skweeky
RENOMER UNE CONNEXION (LOGIN) SOUS SQL SERVER par skweeky

Commentaires et avis

Commentaire de nhervagault le 29/09/2005 22:44:13 administrateur CS

Salut,

dans le cas de sql server
il y a les case qui font la meme chose et en interne.

SELECT title, price,
        Budget = CASE price
         WHEN price > 20.00 THEN 'Cher'
          WHEN price BETWEEN 10.00 AND 19.99 THEN 'Modéré'
          WHEN price < 10.00 THEN 'Bon Marché'
          ELSE 'Inconnu'
        END,
FROM titles

Comme les fonctions le case peut etre mis partout.

Il ne demande pas de fonction supplémentaire.
Et gere plusieurs cas.
Avec le IIF, il faut faire du parenthesage important pour realiser l'exemple si dessus.

Je connais le problème avec les datacolumns expressions, des qu' il y a plus 3 IIF (avec des isnull en plus) dans la condition ca devient complexe.

Commentaire de Scaythe le 08/11/2006 09:10:16

Le Iff existe "nativement" en SQL Server

Commentaire de Scaythe le 08/11/2006 09:11:14

(Pardon) c'est IIf et non Iff ...

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

création d'une automatique d'une base de données SQLServer [ par MokhTelnet ] bonjourj'ai besoin de savoir comment on peut créer une base de données SQLServer lors de l'installation d'une application.mon client ne veux se charge Commande DOS pour SQLServer 7 [ par MokhTelnet ] y a t'il une commande dos pour SQLSERVER 7 ?(comme la commande sqlplus pour oracle) création automatique d'une base de données SQLServer [ par MokhTelnet ] bonjour j'ai besoin de savoir comment on peut créer une base de données SQLServer lors de l'installation d'une application. mon client ne veux se char Problème SQLSERVER/php [ par LeJulius ] Je travaille actuellement sous SQL SERVER 2000 en lien avec du PHP 4.2.0 Mon problème est le suivant :Mes tables sql contiennent des caractères accent Sauvegarde automatique sqlserver 2000 [ par jojos89 ] Salut a tous,J'ai une base de donn&#233;es en local sur mon pc (avec sqlserver 2000)que je voudrais&nbsp;sauvegard&#233; automatique (tous les soir) s aide pour SQLSERVER [ par nagrom_om ] salut,quelqu'un sait il comment peut on avoir un listing des requetes qui sont pass&#233;es sous SQL Server ??Merci ! ms access - sqlserver - procédurestockée [ par metasky ] bonjour,je suis actuellement sur une appli liant access et sqlserver...quand je consulte mes proc&#233;dures stock&#233;es dans mon projet access les Quel outil pour SqlServer [ par padurand ] Mon site tourne avec une base de donnees Access, et des pages ASP.Je voudrais remplacer Access par SqlServer ... a priori il ne devrait pas y avoir de exporter des donnees de sqlserver 2005 vers access (dts) [ par tenrod ] Salut a tous ,Voila je travail avec une base sql server 2005 et je voudrais exporter le r&#233;sultat d'une requete (a partir de ma base sql server) d SQLServer remplacer Null par 0 [ par BasicInstinct ] Bonjour tout le mondej'ai une requete plutot complexe qui calcule differents totaux selon des dates.lorsque pour un mois donn&#233;, je n'ai pas de va


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,526 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales