J'ai un champ de texte qui stocke une combinaison de trois valeurs, ':' délimité. (ressemble à A: B: C). Je voudrais diviser ces valeurs en trois colonnes réelles dans le tableau, mais je ne suis pas sûr de la meilleure façon d'y parvenir. J'utilise sqlite3, toute aide super appréciée!Puis-je séparer les valeurs d'un champ de texte en plusieurs champs de texte?
Répondre
D'abord, modifier le schéma pour ajouter les colonnes que vous voulez. Je suppose que vous savez comment faire cela. Ensuite, exécutez une requête de "mise à jour" qui divise les données.
mettre à jour mytable définir column1 = ..., column2 = ..., column3 = ...;
L'astuce consiste à formuler le "..." pour extraire les colonnes de droite de la colonne "source". Vous pourriez probablement faire quelque chose avec ltrim(), rtrim() et CASE (voir http://www.sqlite.org/lang_expr.html), mais vous pourriez avoir plus de facilité si vous définissiez une fonction définie par l'utilisateur, peut-être basée sur la longueur() et la sous-chaîne ().
Si vous utilisez php, il va somehitng comme ceci:
PHP:
$explodedStr = explode(":", $delimitedStr);
SQL:
"INSERT INTO tableName (column1, column2, column3)
VALUES ('".$explodedStr[0]."','".$explodedStr[1]."', '".$explodedStr[2]."
vous souhaiteriez probablement une mise à jour, pas une insertion. –
- 1. Code requis pour séparer les données de codes à barres en deux champs de texte
- 2. jQuery - Séparer le texte en chaînes
- 3. en utilisant jquery focus pour vider les champs de texte
- 4. Obtention de valeurs de champs de texte à la page
- 5. iphone: uitextfield, plusieurs champs de texte avec le même délégué?
- 6. jQuery ajout de plusieurs valeurs de zone de texte
- 7. Modifier le texte du champ de texte tlf de jsfl
- 8. texte dans le champ de texte
- 9. Rails - Recherche de plusieurs zones de texte et champs
- 10. Comment voir le texte d'un champ de texte dans un autre champ de texte?
- 11. Contrôle de l'entrée de l'utilisateur dans les champs de texte
- 12. Champs de texte de conversion SQL
- 13. allant chercher des valeurs de flotteur de champ texte jformatted
- 14. comment ajouter plusieurs valeurs une zone de texte à une autre zone de texte en javascript?
- 15. alignement vertical pour les champs de texte
- 16. description texte dans un champ de texte?
- 17. Séparer les mots dans le texte courant en utilisant Python?
- 18. Nécessité de prendre deux valeurs de champ de texte et ajouter ainsi à un autre champ
- 19. comment puis-je afficher simultanément des valeurs dans un champ de texte à un autre champ de texte
- 20. Texte statique dans le champ de texte?
- 21. Javascript + PHP + champs de texte dynamiques + Jquery
- 22. images + Télécharger plusieurs champs de texte dans ASP.NET MVC
- 23. Vb6: Séparer le texte délimité par tabulation
- 24. Android - éviter les conflits de réglage des valeurs de champs de texte dans onResume vs onActivityResult
- 25. Modification de l'apparence des champs de texte
- 26. Combine plusieurs champs dans un champ de texte dans SQL Server
- 27. SDK iPhone Effacer plusieurs champs de texte à la fois
- 28. HTML bouton de réinitialisation en combinaison avec des valeurs de champ de texte défini avec jQuery
- 29. Clavier virtuel Javascript: comment identifier les champs de texte?
- 30. réglage du texte pour flasher les champs de texte dynamiques de l'ASP
Et, bien sûr, une alternative est de sélectionner toutes les valeurs, exécuter une expression sed sur eux pour créer des instructions de mise à jour, puis exécutez le fichier de sortie en tant que commande SQL. Sélectionnez la source de la table> fichier sed -e "s/^ ([^:] *): ([^:] *): ([^:] *) \ $/mise à jour du jeu de table column1 = '\ \ 1 ', column2 =' \\ 2 ', column3 =' \\ 3 'où source =' \ $ '; " < file > nouveaufichier sqlite3