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 :

Formatage spécial d'une requête


Sujet :

SQL Oracle

  1. #1
    Candidat au Club
    Femme Profil pro
    gestionnaire de dossiers
    Inscrit en
    Décembre 2021
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : gestionnaire de dossiers
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2021
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Formatage spécial d'une requête
    Bonjour,

    Je viens vers vous car j'aimerais modifier un script existant pour que le résultat de ma requête se présente avec le format suivant : 1234 56 78 91
    Il s'agit d'une suite de 10 chiffres, qui dans la base sont collés l'un à l'autre, mais pour une meilleure lecture devraient être séparés en suivant le modèle ci-dessus.

    Voici le script simplifié

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT goods_code_id
    FROM   nom_item
    WHERE  goods_code_id between '2900000000' and '3899999999'
    Est-ce que ce serait possible de formater ce résultat?
    Par avance merci de votre aide.

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    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é : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 811
    Points
    17 811
    Par défaut
    Oui avec une expression régulière ou simplement des concaténations de sous-chaînes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT goods_code_id
         , substr(goods_code_id, 1, 4) || ' ' || substr(goods_code_id, 5, 2) || ' ' || substr(goods_code_id, 7, 2) || ' ' || substr(goods_code_id, 9, 2) as goods_code_id_fmt
      FROM nom_item
     WHERE goods_code_id between '2900000000' and '3899999999'

  3. #3
    Membre chevronné
    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Décembre 2019
    Messages
    1 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Décembre 2019
    Messages : 1 130
    Points : 1 907
    Points
    1 907
    Par défaut
    Autre possibilité:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    regexp_replace(goods_code_id, '(^[[:digit:]]{4})([[:digit:]]{2})([[:digit:]]{2})([[:digit:]]{2})', '\1 \2 \3 \4')

  4. #4
    Candidat au Club
    Femme Profil pro
    gestionnaire de dossiers
    Inscrit en
    Décembre 2021
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : gestionnaire de dossiers
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2021
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Formatage spécial d'une requête
    Super !
    Merci à vous 2.
    Je ne suis pas certaine d'avoir tout compris, mais les 2 propositions fonctionnent.

    Belle soirée

  5. #5
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 933
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 933
    Points : 4 346
    Points
    4 346
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT TO_CHAR(1234567891, '9999G99G99G99', 'NLS_NUMERIC_CHARACTERS = ''. ''') from dual ;
    -> " 1234 56 78 91"
    SELECT TRIM(TO_CHAR(1234567891, '9999G99G99G99', 'NLS_NUMERIC_CHARACTERS = ''. ''')) from dual ;
    -> "1234 56 78 91"

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Caractère spécial dans une requête
    Par seroa dans le forum Langage SQL
    Réponses: 2
    Dernier message: 06/01/2009, 09h16
  2. [Oracle] Exécution d'une requête spéciale
    Par Dark Ryus dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 14/08/2008, 11h27
  3. Formatage résultat d'une requête
    Par Denn's dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/07/2007, 20h17
  4. Réponses: 4
    Dernier message: 10/04/2007, 12h10
  5. [C# 2.0] Formatage spéciale d'une date et de l'heure.
    Par Pierre8r dans le forum Windows Forms
    Réponses: 2
    Dernier message: 13/05/2006, 20h40

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