IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

DB2 Discussion :

Fonction personnalisé. Problème avec l'opérateur LIKE


Sujet :

DB2

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 189
    Points : 57
    Points
    57
    Par défaut Fonction personnalisé. Problème avec l'opérateur LIKE
    Bonjour,

    je viens de créer une nouvelle fonction qui enlève les accents + autres caractères d'une chaine de caractères :

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
       CREATE OR REPLACE FUNCTION IACCENT (STR VARCHAR(4000))
         RETURNS VARCHAR(4000)
         LANGUAGE SQL
         CONTAINS SQL
     	 RETURN UPPER(REPLACE( 
    					REPLACE(                
    					 REPLACE(              
    					  REPLACE(             
    					   REPLACE(            
    					    REPLACE(           
    					     REPLACE(          
    					      REPLACE(         
    					       REPLACE(        
    					        REPLACE(       
    					         REPLACE(
    					          REPLACE(
    					           REPLACE(
    					            REPLACE(      
    					             REPLACE(
    					              REPLACE(STR
    					              , ' ' , '' )
    					             , '*' , '' )
    					            , '_' , '' )
    					           , '-' , '' )  
    					          , 'é' , 'e' )
    					         , 'è' , 'e' ) 
    					        , 'ç' , 'c' )  
    					       , 'à' , 'a' )   
    					      , 'ù' , 'u' )    
    					     , 'â' , 'a' )     
    					    , 'ê' , 'e' )      
    					   , 'î' , 'i' )       
    					  , 'ô' , 'o' )        
    					 , 'û' , 'u' )
    					, 'ö' , 'o' )
    				   , 'ï' , 'i' ))
    Quand j'utilise la fonction dans le select :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select IAccent(FIRSTNAME) from table
    ou quand je l'utilise avec l'opérateur = :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select * from table where column = IAccent( 'éà')
    cela fonctionne sans problème.

    Par contre, quand je l'utilise avec l'opérateur LIKE à la place du =, j'obtiens cette erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    The SQL statement failed because of a non-severe system error. Subsequent SQL statements can be processed.  (Reason "Unknown function protocol".). SQLCODE=-901, SQLSTATE=58004, DRIVER=4.11.69
    Quelqu'un peut m'aider?

    Merci d'avance.

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    bonjour,


    indiquez la requete que vous executé

Discussions similaires

  1. [VB6] Problème avec l'opérateur LIKE en SQL
    Par MGD_Software dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 22/07/2006, 14h56
  2. Réponses: 12
    Dernier message: 11/04/2006, 11h41
  3. Fonction ASP: problème avec popup
    Par claralavraie dans le forum ASP
    Réponses: 6
    Dernier message: 07/02/2006, 10h31
  4. Problème avec les opérateurs
    Par jules_lenoir dans le forum Langage
    Réponses: 4
    Dernier message: 26/01/2006, 16h56
  5. Quelques problèmes avec SQL SERVEUR (LIKE et caractères)
    Par poussinphp dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 21/09/2005, 09h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo