[GRASS-de] v.db.update: Strings verketten, Strings ersetzen

Jachym Cepicky jachym.cepicky at centrum.cz
Fr Feb 24 14:57:46 CET 2006


hallo
ich hoffe, es wird funkzionieren:

echo "update table set spalte3=spalte2||spalte1" | db.execute

das zweite wuerde ich per script loessen: 

for cat in $( db.select sql="select cat FROM table" ); do
    echo "UPDATE table SET spalte = '$( db.select sql="SELECT spalte FROM \
    table WHERE cat=$cat | sed -e \"s/was/womit/g\" )' WHERE cat=$cat;"\
    |db.execute
done

oder so aehnlich -- ich habe es nicht ausprobiert

in postgres ist dafuer die string funktion replace() geiegnet
(http://postgresql.org/docs/8.1/interactive/functions-string.html)

ich hoffe, es hilft

jachym

On Fri, Feb 24, 2006 at 12:43:46PM +0100, Wolfgang Qual wrote:
> Hallo Liste,
> ich bin auf der Suche nach einer Möglichkeit, Strings aus zwei Spalten in
> eine neue Spalte zu schreiben (d.h. Strings verketten). Weiß jemand, wie man
> das in GRASS umsetzt? 
> 
> Beispiel:
> 
> |Spalte1|Spalte2|Spalte 3|
> |a|b|ab|
> |ad|b|adb| 
> ...
> 
> Kann man strings in einer Spalte ersetzen (z.B. alle ä durch ae)?
> 
> 
> Schöne Grüße und vielen Dank für Ideen,
> 
> 
> Wolfgang
> 
> -- 
> 10 GB Mailbox, 100 FreeSMS/Monat http://www.gmx.net/de/go/topmail
> +++ GMX - die erste Adresse für Mail, Message, More +++
> 
> _______________________________________________
> grass-de mailing list
> grass-de at grass-verein.de
> https://grass-verein.de/mailman/listinfo/grass-de

-- 
Jachym Cepicky                                  
e-mail: jachym.cepicky at centrum.cz           
URL: http://les-ejk.cz                      
GPG: http://les-ejk.cz/gnupg_public_key/    
-----------------------------------------   
OFFICE:                                     
Department of Geoinformation Technologies   
LDF MZLU v Brně                             
Zemědělská 3                                
613 00 Brno                                 
e-mail: xcepicky at node.mendelu.cz            
URL:    http://mapserver.mendelu.cz
Tel.:   +420 545 134 514