Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Miko
Une Bévue nous demande:
J'ai une base SQLite dont je dois transformer 3 champs : ........
comment faire
Avec un langage de script (PHP, ou Tcl, mais surement bien d'autres aussi...)
En Tcl : #appel de l'interface Tcl/SQLite package require sqlite3 #création de la base sqlite3 db1 ./testdb #on met des données dans la base db1 eval {CREATE TABLE t1(a int, b text)} db1 eval {INSERT INTO t1 VALUES(1,'hello')} db1 eval {INSERT INTO t1 VALUES(2,'goodbye')} db1 eval {INSERT INTO t1 VALUES(3,'howdy!')} #on lit les données set x [db1 eval {SELECT * FROM t1 ORDER BY a}] #valeur de x: 1 hello 2 goodbye 3 howdy! #création d'une fonction (on récupère ici une fonction Tcl existante) db1 function totitle {string totitle} #appel de la fonction avec update de la table db1 eval {UPDATE t1 set b=totitle(b)}
# lecture de la table set x [db1 eval {SELECT * FROM t1 ORDER BY a}] #valeur de x: 1 Hello 2 Goodbye 3 Howdy!
les liens: http://www.sqlite.org/tclsqlite.html
http://www.tcl.tk/
Tcl est un langage de script facile à apprendre et portable (*nix, windows, mac os, vms....) Il s'interface avec la plupart des bases de données, PostgreSQL l'intègre en standard comme langage procédural.
Miko
Une Bévue nous demande:
J'ai une base SQLite dont je dois transformer 3 champs :
........
comment faire
Avec un langage de script (PHP, ou Tcl, mais surement bien d'autres
aussi...)
En Tcl :
#appel de l'interface Tcl/SQLite
package require sqlite3
#création de la base
sqlite3 db1 ./testdb
#on met des données dans la base
db1 eval {CREATE TABLE t1(a int, b text)}
db1 eval {INSERT INTO t1 VALUES(1,'hello')}
db1 eval {INSERT INTO t1 VALUES(2,'goodbye')}
db1 eval {INSERT INTO t1 VALUES(3,'howdy!')}
#on lit les données
set x [db1 eval {SELECT * FROM t1 ORDER BY a}]
#valeur de x:
1 hello 2 goodbye 3 howdy!
#création d'une fonction (on récupère ici une fonction Tcl existante)
db1 function totitle {string totitle}
#appel de la fonction avec update de la table
db1 eval {UPDATE t1 set b=totitle(b)}
# lecture de la table
set x [db1 eval {SELECT * FROM t1 ORDER BY a}]
#valeur de x:
1 Hello 2 Goodbye 3 Howdy!
les liens:
http://www.sqlite.org/tclsqlite.html
http://www.tcl.tk/
Tcl est un langage de script facile à apprendre et portable (*nix, windows,
mac os, vms....)
Il s'interface avec la plupart des bases de données, PostgreSQL l'intègre en
standard comme langage procédural.
J'ai une base SQLite dont je dois transformer 3 champs : ........
comment faire
Avec un langage de script (PHP, ou Tcl, mais surement bien d'autres aussi...)
En Tcl : #appel de l'interface Tcl/SQLite package require sqlite3 #création de la base sqlite3 db1 ./testdb #on met des données dans la base db1 eval {CREATE TABLE t1(a int, b text)} db1 eval {INSERT INTO t1 VALUES(1,'hello')} db1 eval {INSERT INTO t1 VALUES(2,'goodbye')} db1 eval {INSERT INTO t1 VALUES(3,'howdy!')} #on lit les données set x [db1 eval {SELECT * FROM t1 ORDER BY a}] #valeur de x: 1 hello 2 goodbye 3 howdy! #création d'une fonction (on récupère ici une fonction Tcl existante) db1 function totitle {string totitle} #appel de la fonction avec update de la table db1 eval {UPDATE t1 set b=totitle(b)}
# lecture de la table set x [db1 eval {SELECT * FROM t1 ORDER BY a}] #valeur de x: 1 Hello 2 Goodbye 3 Howdy!
les liens: http://www.sqlite.org/tclsqlite.html
http://www.tcl.tk/
Tcl est un langage de script facile à apprendre et portable (*nix, windows, mac os, vms....) Il s'interface avec la plupart des bases de données, PostgreSQL l'intègre en standard comme langage procédural.
Miko
unbewusst.sein
Miko wrote:
Avec un langage de script (PHP, ou Tcl, mais surement bien d'autres aussi...)
En Tcl :
[...]
Tcl est un langage de script facile à apprendre et portable (*nix, windows, mac os, vms....) Il s'interface avec la plupart des bases de données, PostgreSQL l'intègre en standard comme langage procédural.
OK, merci beaucoup, je vais pouvoir me dépatouiller avec vos tuyaux ))) -- Une Bévue
Miko <michel.salvagniac@free.fr> wrote:
Avec un langage de script (PHP, ou Tcl, mais surement bien d'autres
aussi...)
En Tcl :
[...]
Tcl est un langage de script facile à apprendre et portable (*nix, windows,
mac os, vms....)
Il s'interface avec la plupart des bases de données, PostgreSQL l'intègre en
standard comme langage procédural.
OK, merci beaucoup, je vais pouvoir me dépatouiller avec vos tuyaux )))
--
Une Bévue
Avec un langage de script (PHP, ou Tcl, mais surement bien d'autres aussi...)
En Tcl :
[...]
Tcl est un langage de script facile à apprendre et portable (*nix, windows, mac os, vms....) Il s'interface avec la plupart des bases de données, PostgreSQL l'intègre en standard comme langage procédural.
OK, merci beaucoup, je vais pouvoir me dépatouiller avec vos tuyaux ))) -- Une Bévue
Patrick Mevzek
Le Thu, 11 Oct 2007 20:56:20 +0200, Une Bévue a écrit:
Si vous avez INITCAP (ex: PostgreSQL) ca va vite : UPDATE whatever SET lastname=INITCAP(lastname),firstname=INITCAP(firstname); UPDATE whatever SET fullLastName=lastname || firstname; (peut-être faisable en une passe, à vérifier, mais d'un autre côté, fullLastName ne sert vraiment à rien comme champ s'il est construit ainsi, si vous en avez vraiment besoin, faites une vue)
Sinon, quelque chose comme : UPDATE whatever SET lastname=UPPER(SUBSTRING(lastname FROM 1 FOR 1)) || SUBSTRING(lastname FROM 2) idem pour firstname et puis après fullLastName comme au-dessus.
Attention cependant selon le jeu de caractères de vos données, cela peut se passer plus ou moins bien (l'opération « mise en majuscules » ou « mise en minuscules » n'est pas trivial à partir du moment où l'on désire tenir compte correctement du multilinguisme)
-- Patrick Mevzek . . . . . . . . . . . . . . Dot and Co <http://www.dotandco.net/> <http://www.dotandco.com/> Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news>
Le Thu, 11 Oct 2007 20:56:20 +0200, Une Bévue a écrit:
Si vous avez INITCAP (ex: PostgreSQL) ca va vite :
UPDATE whatever SET lastname=INITCAP(lastname),firstname=INITCAP(firstname);
UPDATE whatever SET fullLastName=lastname || firstname;
(peut-être faisable en une passe, à vérifier, mais d'un autre côté,
fullLastName ne sert vraiment à rien comme champ s'il est construit ainsi,
si vous en avez vraiment besoin, faites une vue)
Sinon, quelque chose comme :
UPDATE whatever SET lastname=UPPER(SUBSTRING(lastname FROM 1 FOR 1)) ||
SUBSTRING(lastname FROM 2)
idem pour firstname
et puis après fullLastName comme au-dessus.
Attention cependant selon le jeu de caractères de vos données, cela peut
se passer plus ou moins bien (l'opération « mise en majuscules » ou « mise
en minuscules » n'est pas trivial à partir du moment où l'on désire tenir
compte correctement du multilinguisme)
--
Patrick Mevzek . . . . . . . . . . . . . . Dot and Co
<http://www.dotandco.net/> <http://www.dotandco.com/>
Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news>
Si vous avez INITCAP (ex: PostgreSQL) ca va vite : UPDATE whatever SET lastname=INITCAP(lastname),firstname=INITCAP(firstname); UPDATE whatever SET fullLastName=lastname || firstname; (peut-être faisable en une passe, à vérifier, mais d'un autre côté, fullLastName ne sert vraiment à rien comme champ s'il est construit ainsi, si vous en avez vraiment besoin, faites une vue)
Sinon, quelque chose comme : UPDATE whatever SET lastname=UPPER(SUBSTRING(lastname FROM 1 FOR 1)) || SUBSTRING(lastname FROM 2) idem pour firstname et puis après fullLastName comme au-dessus.
Attention cependant selon le jeu de caractères de vos données, cela peut se passer plus ou moins bien (l'opération « mise en majuscules » ou « mise en minuscules » n'est pas trivial à partir du moment où l'on désire tenir compte correctement du multilinguisme)
-- Patrick Mevzek . . . . . . . . . . . . . . Dot and Co <http://www.dotandco.net/> <http://www.dotandco.com/> Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news>
Patrick Texier
Le 12 Oct 2007 01:12:58 GMT, Patrick Mevzek a écrit :
Attention cependant selon le jeu de caractères de vos données, cela peut se passer plus ou moins bien (l'opération « mise en majuscules » ou « mise en minuscules » n'est pas trivial à partir du moment où l'on désire tenir compte correctement du multilinguisme)
Non seulement ce n'est pas trivial, mais c'est impossible. On ne peut pas deviner si une particule s'écrit « de » ou « De » ou si un américain s'appelle « Leroy » ou « LeRoy ». Des noms, cela se gère proprement.
Le 12 Oct 2007 01:12:58 GMT, Patrick Mevzek a écrit :
Attention cependant selon le jeu de caractères de vos données, cela peut
se passer plus ou moins bien (l'opération « mise en majuscules » ou « mise
en minuscules » n'est pas trivial à partir du moment où l'on désire tenir
compte correctement du multilinguisme)
Non seulement ce n'est pas trivial, mais c'est impossible. On ne peut
pas deviner si une particule s'écrit « de » ou « De » ou si un américain
s'appelle « Leroy » ou « LeRoy ». Des noms, cela se gère proprement.
Le 12 Oct 2007 01:12:58 GMT, Patrick Mevzek a écrit :
Attention cependant selon le jeu de caractères de vos données, cela peut se passer plus ou moins bien (l'opération « mise en majuscules » ou « mise en minuscules » n'est pas trivial à partir du moment où l'on désire tenir compte correctement du multilinguisme)
Non seulement ce n'est pas trivial, mais c'est impossible. On ne peut pas deviner si une particule s'écrit « de » ou « De » ou si un américain s'appelle « Leroy » ou « LeRoy ». Des noms, cela se gère proprement.
unbewusst.sein
Patrick Texier wrote:
> Attention cependant selon le jeu de caractères de vos données, cela peut > se passer plus ou moins bien (l'opération « mise en majuscules » ou « mise > en minuscules » n'est pas trivial à partir du moment où l'on désire tenir > compte correctement du multilinguisme)
Non seulement ce n'est pas trivial, mais c'est impossible. On ne peut pas deviner si une particule s'écrit « de » ou « De » ou si un américain s'appelle « Leroy » ou « LeRoy ». Des noms, cela se gère proprement.
oui, finalement j'ai utilisé un algo + complexe mais que ne traite pas le cas de Leroy...
pour l'instant, c'est french only... -- Une Bévue
Patrick Texier <p.texier@alussinan.org> wrote:
> Attention cependant selon le jeu de caractères de vos données, cela peut
> se passer plus ou moins bien (l'opération « mise en majuscules » ou « mise
> en minuscules » n'est pas trivial à partir du moment où l'on désire tenir
> compte correctement du multilinguisme)
Non seulement ce n'est pas trivial, mais c'est impossible. On ne peut
pas deviner si une particule s'écrit « de » ou « De » ou si un américain
s'appelle « Leroy » ou « LeRoy ». Des noms, cela se gère proprement.
oui, finalement j'ai utilisé un algo + complexe mais que ne traite pas
le cas de Leroy...
> Attention cependant selon le jeu de caractères de vos données, cela peut > se passer plus ou moins bien (l'opération « mise en majuscules » ou « mise > en minuscules » n'est pas trivial à partir du moment où l'on désire tenir > compte correctement du multilinguisme)
Non seulement ce n'est pas trivial, mais c'est impossible. On ne peut pas deviner si une particule s'écrit « de » ou « De » ou si un américain s'appelle « Leroy » ou « LeRoy ». Des noms, cela se gère proprement.
oui, finalement j'ai utilisé un algo + complexe mais que ne traite pas le cas de Leroy...