Précédent   Forum des professionnels en informatique > Bases de données > Firebird > SQL
SQL Forum d'entraide sur le SQL pour Firebird
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/04/2004, 14h47   #1
Candidat au titre de Membre du Club
 
Inscription : août 2003
Messages : 34
Détails du profil
Informations forums :
Inscription : août 2003
Messages : 34
Points : 12
Points : 12
Par défaut Fonction sur les chaines équivalentes à Right et Left

Bonjour,

Je change de Base de Donnée. je passe de SQLAnyWhere(Sybase) à Firebird 1.5.

Mon problème est peut être tou bête mais je bloque comme un c..

J'ai un numérique que je transforme en chaine via un CAST.
Ca OK

Mais je veux récupérer les 2 derniers chiffres
Exemple :
Citation:
103 --> 03
Existe-t-il des fonction non UDF pour ce genre de chose ?
Un truc du style
Citation:
Right(MaChaine, 2)
Merci
Tito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/05/2004, 09h34   #2
Membre confirmé
 
Avatar de Etienne Bar
 
Inscription : octobre 2002
Messages : 276
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : octobre 2002
Messages : 276
Points : 230
Points : 230
A ma connaissance, non, désolé
__________________
DRH Canal Historique
Informaticien Indépendant
http://www.etiennebar.com
Etienne Bar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/05/2004, 21h15   #3
Dry
Nouveau Membre du Club
 
Inscription : octobre 2003
Messages : 48
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 48
Points : 26
Points : 26
BOnjour,

je m suis un peu penché sur votre PB, la seul solution que j'ai trouvé, c'est une procédure stockée 'bricolée' maison

en voici le code,
libre a vous de l'adapter

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
ALTER PROCEDURE NEW_PROCEDURE 
RETURNS (RESULTAT INTEGER)
AS
  DECLARE VARIABLE TMP INTEGER;
  DECLARE VARIABLE NOMBRE INTEGER;
begin
  FOR SELECT mon_nombre_a_transformer FROM ma_tables INTO :NOMBRE do
  begin
    tmp = nombre / 100;
    resultat = nombre - tmp *100 ;
    IF (resultat < 0) then resultat = resultat + 100;
    else IF (resultat > 50) then resultat = resultat - 50;
    suspend;
  end
end
en espérant vous avoir aider

Bon Dev'
Dry est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h23.


 
 
 
 
Partenaires

Hébergement Web