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

SQL Oracle Discussion :

to_char mettre à jour un champ sans les blancs


Sujet :

SQL Oracle

  1. #1
    Membre habitué Avatar de hammag
    Profil pro
    Inscrit en
    Février 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 511
    Points : 145
    Points
    145
    Par défaut to_char mettre à jour un champ sans les blancs
    bonsoir,

    j'ai un champ de type char de longueur 10 et je cherche à mettre à jour ce champ avec la valeur d'un champ numérique d'une deuxième table (avec la fonction to_char)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    UPDATE TAB1 
    SET champ1 = select to_char(nbr, '999.99') from TAB2
    est-il possible de ne mettre dans le champ champ1 que les caractères du numéro ?

    ex: si la valeur du champ nbr dans la 2ème table = 25

    est-il possible de mettre dans champ1 la valeur '25' et non '________25'
    merci d'avance ?

    merci d'avance

  2. #2
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 077
    Points
    8 077
    Par défaut
    C'est doublement impossible :
    - quand une valeur est acceptée dans une colonne de type T, alors cette valeur devient de type T (peu importe sa provenance, sa signification fonctionnelle, etc)
    - dans les colonnes de type CHAR(n), les valeurs sont automatiquement complétées par des espaces à droite, à concurrence de n.

    Donc il vaut mieux utiliser une colonne VARCHAR2(n), au moins vous n'aurez pas ces espaces parasites.
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 108
    Points : 83
    Points
    83
    Par défaut
    utilise la fonction trim(nbr) pour supprimer les espaces
    latrach.net

  4. #4
    Membre habitué Avatar de hammag
    Profil pro
    Inscrit en
    Février 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 511
    Points : 145
    Points
    145
    Par défaut
    donc, c'est le type du champ champ1 est varchar et non char je n'aurais pas ce problème ?

  5. #5
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 18 377
    Points
    18 377
    Par défaut
    C'est bien ça.
    Maintenant, stocker des nombres dans un varchar ce n'est pas une bonne idée.

    Si vous êtes amené à le faire, c'est que la modélisation de votre base de données est mauvaise.

  6. #6
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926
    Par défaut
    Citation Envoyé par webfranc Voir le message
    utilise la fonction trim(nbr) pour supprimer les espaces
    ou alors le formateur FM

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    to_char(1.23,'FM999.99')

Discussions similaires

  1. [2.x] Mettre à jour un champ sans formulaire
    Par ronylicha dans le forum Symfony
    Réponses: 2
    Dernier message: 21/03/2014, 10h15
  2. Impossible de mettre à jour un champs
    Par _developpeur_ dans le forum Access
    Réponses: 4
    Dernier message: 23/01/2006, 13h17
  3. [Swing]Mettre à jour un champ d'un autre Jfame
    Par yoyothebest dans le forum SWT/JFace
    Réponses: 3
    Dernier message: 14/09/2004, 13h39
  4. Comment mettre à jour une ligne sans doublon via déclencheur
    Par fuelcontact dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 02/08/2004, 15h56
  5. Réponses: 3
    Dernier message: 09/07/2004, 10h23

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