Προς το περιεχόμενο

sql script


Exiled2

Προτεινόμενες αναρτήσεις

Δημοσ.

αν ο πίνακας είναι logs, το πεδίο acc και οι τιμές που παίρνει το πεδίο είναι της μορφής E-101 πως γίνεται να αλλάξω μόνο το Ε από τις τιμές των πεδίων?

Κάτι σαν update logs set acc=???? where acc='E-%'

 

αλλά δεν ξέρω ακριβώς πως γίνεται και αν γίνεται προπάντων.

 

Ευχαριστώ.

  • 2 εβδομάδες αργότερα...
Δημοσ.

Ta exeis mperdepsei ligaki. Mia einai h sql (Structed Query Language) aplos uparxoun diaforetikes ulopoihseis (pou pi8anos na perilambanoun epipros8etes leitourgies/entoles) Merikes apo autes einai mysql, postgresql, mssql, oracle, db2ktl

 

oso gia to problima sou den mporw na katalabw ti akribos prospa8eis na kaneis. Gine ligo poio safhs

Δημοσ.
Λάθος δεν είναι sql, είναι sqlite. Βρήκα αυτό αλλά δεν δουλεύει

update Logs set acc=replace(acc,'E-','Β-') where acckey like 'E-%'

 

αυτή τη function replace που τη βρήκες? την εφτιαξες μονος σου, ή τι βρήκες ετοιμη σε καποια βιβλιοθηκη; η sqlite εχει ενα keyword Replace αλλα η λειτουργία του ειναι άσχετη με αυτο που θέλεις.

 

 

 

Εγω ξερω καλυτερα απο oracle. στην oracle, θα εκανα αυτό

 

update Logs set acc = 'Β-' || SUBSTR(acc,3)

where SUBSTR(acc,1,2) = 'E-' ;

ή

update Logs set acc = 'Β-' || SUBSTR(acc,3)

where acc LIKE = 'E-%' ;

και τα 2 το ιδιο θα κάνουν.

 

δοκιμασε αν παιζουν και στην sqlite

το || δεν ξερω αν παιζει. στην oracle ειναι για ένωση strings.

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...