Bonjour à tous,

j'ai la table suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
CREATE TABLE LISTE_JOUEURS (
    INDEX_JOUEUR   INTEGER NOT NULL,
    NOM_JOUEUR     VARCHAR(100) NOT NULL,
);
Je l'ai modifié pour la rendre comme suit:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
CREATE TABLE LISTE_JOUEURS (
    INDEX_JOUEUR   INTEGER NOT NULL,
    NOM_JOUEUR     VARCHAR(100) NOT NULL,
    PRENOM_JOUEUR  VARCHAR(50) DEFAULT 'Prenom' NOT NULL,
);
Je voudrais tronquer les données dans le champ NOM_JOUEUR en 2 pour séparer le nom et le prénom.

Je voudrais faire une requête de ce style:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
UPDATE liste_joueurs lj
SET lj.Nom_Joueur = SUBSTRING(lj.nom_joueur FROM 1 FOR POSITION(' ' IN lj.Nom_Joueur)),
    lj.prenom_joueur = SUBSTRING(lj.Nom_Joueur FROM POSITION(' ' IN lj.Nom_Joueur) FOR LENGTH(lj.Nom_Joueur))
Mais je n'arrive pas à faire fonctionner les fonctions POSITION et LENGTH.
Peut-être ne sont-elles tout simplement pas définies? Peut-être en UDF? Pourtant IBExpert me les propose...

Comment je peux faire ça?

Merci d'avance...