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

Langage SQL Discussion :

Requête SQL spéciale.


Sujet :

Langage SQL

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Requête SQL spéciale.
    Salut à tous,

    C'est la première fois que je poste sur le forum, bien que je visite souvent le site lorsque j'ai un problème dans une requête sql.

    Je n'ai aucune formation particulière dans le domaine, j'apprends sur le net principalement. Seulement, je suis tombé sur un os cette fois-ci.

    Je ne sais pas si le contexte est important mais je l'explique brièvement : je gère la base de données d'un jeu vidéo. Dans cette db, une colonne contient plusieurs infos. Ainsi, le level d'un personnage, ses points etc sont contenus dans une et même colonne (en l'occurence, ce ne sont que des chiffres). La seule distinction entre ces chiffres est faite par un espace.

    J'aimerais, dans un premier temps savoir s'il est possible de ne modifier qu'une partie d'un long "texte" contenu dans cette colonne.
    Je m'explique. La colonne en question contient plusieurs informations chacune correspondant à quelque chose de distinct.

    En voici un aperçu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    124 0 25 0 1065353216 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 15416 7543 0 0 100 0 15416 7543 1000 0 100 0 100 116 776 0 0 0 0 0 0 0 0 0 8 0 27066 34074 19885 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2039583 0 0 0 0 0 0 0 0 0 0 0 0 0 6579300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1162760926 1156758488 1158576483 1065353216 1069547520 1478 1478 0 1147982335 1150273791 0 0 0 0 0 0 0 0 0 1064865587 0 0 0 0 87 729 996 296 116 0 1137246208 1146257408 1127415808 0 0 0 0 0 0 8141 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3383 3568 10240 996 1155 1025758976 919 1288 1041462464 1146452301 1149290867 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2048 219 0 100860164 34013194 0 0 0 1447 1 0 0 8369 0 0 0 8387 1 0 0 8900 0 0 0 9026 1 0 0 10683 0 0 0 11339 1 0 0 11340 0 0 0 11341 0 0 0 11409 0 0 0 11412 0 0 0 11431 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 34992 2841 0 2831 3212 0 0 0 0 0 0 0 0 0 0 0 35135 0 0 3119 0 0 0 0 0 0 0 0 0 0 0 0 34994 2841 0 3122 3122 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 34990 2841 0 3119 3122 3122 0 0 0 0 0 0 0 0 0 0 35151 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 34993 3012 0 0 0 0 0 0 0 0 0 0 0 0 0 0 35136 2841 0 0 0 0 0 0 0 0 0 0 0 0 0 0 35166 0 0 3122 0 0 0 0 0 0 0 0 0 0 0 0 34991 1843 0 0 0 0 0 0 0 0 0 0 0 0 0 0 35131 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 29301 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 33831 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 37865 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 34241 368 0 3119 0 0 0 2803 2803 2820 0 0 0 0 0 0 34247 2670 0 3122 3119 3119 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 34334 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5976 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21876524 1073741824 22841912 1073741824 21876531 1073741824 0 0 21876252 1073741824 23421840 1073741824 21876594 1073741824 23431088 1073741824 22858633 1073741824 21876504 1073741824 22841977 1073741824 22972154 1073741824 16985413 1073741824 22706279 1073741824 21251746 1073741824 19841595 1073741824 0 0 19841627 1073741824 19992534 1073741824 36968 1073741824 39607 1073741824 66599 1073741824 39533 1073741824 35896 1073741824 12965835 1073741824 22835634 1073741824 187660 1073741824 23212431 1073741824 196198 1073741824 192194 1073741824 16985371 1073741824 76092 1073741824 76098 1073741824 76096 1073741824 76094 1073741824 76100 1073741824 23096739 1073741824 23469621 1073741824 23096762 1073741824 65985 1073741824 54872 1073741824 157882 1073741824 157880 1073741824 23430206 1073741824 23430215 1073741824 0 0 103541 1073741824 54874 1073741824 45518 1073741824 75764 1073741824 0 0 22444031 1073741824 22116214 1073741824 22312667 1073741824 22112389 1073741824 0 0 0 0 0 0 0 0 22114755 1073741824 22156713 1073741824 64458 1073741824 21931610 1073741824 22114757 1073741824 21930468 1073741824 16985233 1073741824 21994320 1073741824 22111491 1073741824 22111493 1073741824 97046 1073741824 97034 1073741824 97026 1073741824 195569 1073741824 111538 1073741824 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 50234 1073741824 134216 1073741824 147165 1073741824 149557 1073741824 191926 1073741824 240708 1073741824 240755 1073741824 21197558 1073741824 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 626800 163 65537 0 95 32768500 0 44 32768500 0 162 32768500 0 45 32768500 0 109 19661100 0 51 65537 0 315 19661100 0 414 65537 0 415 65537 0 762 19661100 0 733 32768500 0 413 65537 0 173 32768500 0 43 32768500 0 55 32768500 0 172 32768500 0 54 32768500 0 160 32768500 0 228 32768500 0 229 32768500 0 118 32768500 0 226 32768500 0 176 32768500 0 46 32768500 0 473 65537 0 136 32768500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 1086528915 1088421888 0 0 1100549470 1101073758 0 0 1099265647 1099265647 1099265647 1099265647 1099265647 1099265647 3 536937475 3816554498 4159160783 3237990861 3410760590 167768075 33583113 2964930568 269549582 805550577 7734815 500700160 265289728 93888596 968884372 1275068500 1343025172 3221275224 1081623168 3475507074 723059221 4152688892 1663042076 1619378192 67633155 3758620673 2103872 3959424067 2160597635 2148530698 539892736 2117174275 2686186143 1100617597 266077312 536796496 272793888 1135362080 4260886271 2147417629 1098295099 2147479551 4160749523 3218603807 3001810796 3205496734 2157854062 3989806072 75723258 75577480 4104 4096 0 52397344 536870912 288 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1639543013 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1065772646 1065353216 1065353216 1065353216 1065353216 1065353216 1065353216 0 0 4294966876 983042 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4155 0 4294967295 0 0 0 0 0 50 50 50 315 315 315 0 0 0 293 293 293 64 64 64 0 0 0 0 162 0 0 40 0 1430 0 0 0 0 0 0 172 0 0 0 0 1500 5258 558 1109837379 1109789770 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    J'aimerais pouvoir ne modifier que la partie du contenu de la colonne qui m'interesse. Comment dois-je faire ?

    Prenons le 124 ( qui est le tout premier nombre ), comment devrais-je faire pour le modifier dans toutes les lignes en gardant le reste intact ?

    En esperant m'être bien fait comprendre et en vous remerciant par avance,
    Kabel.

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Houlala dis-donc Kabel,

    Je me demande si ce ne serait pas beaucoup plus simple de faire ça hors SQL, par exemple avec une fonction Split suivie de ta modif suivie d'une fonction JOIN... C'est une option?

    Chris

  3. #3
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 048
    Points
    34 048
    Billets dans le blog
    14
    Par défaut
    Ou bien de revoir le modèle de données plutôt !

  4. #4
    Membre expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 788
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 788
    Points : 3 054
    Points
    3 054
    Par défaut
    Je voudrais bien t'aider mais, désolé, je n'ai rien compris.

  5. #5
    Membre confirmé Avatar de lper
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    398
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 398
    Points : 641
    Points
    641
    Par défaut
    Bonjour,
    tu peux faire un update sur le champs de ta table en utilisant une fonction d'extraction de chaîne, sous Oracle par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Update matable
    set myfield = '125' || substr(my_field,4,100)
    where myfield like '124%'

Discussions similaires

  1. [MySQL] requête sql dans 2 bases, champ bizarre, trie spécial, ouf !
    Par maxence64 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 21/06/2011, 19h23
  2. [WD12E] Requête Sql un peux spécial
    Par le_dilem dans le forum WinDev
    Réponses: 4
    Dernier message: 03/08/2010, 17h05
  3. [SQL] Affichage requête caractère spécial
    Par Nemesis007 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 27/03/2008, 14h59
  4. Réponses: 4
    Dernier message: 10/04/2007, 11h10
  5. Utilisation de MAX dans une requête SQL
    Par Evil onE dans le forum Langage SQL
    Réponses: 7
    Dernier message: 15/06/2004, 18h38

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