Hirdetés

Új hozzászólás Aktív témák

  • kem
    addikt

    Hát a WHERE feltételben az van, hogy minden olyan rekordra fusson le aminél a mező értéke '<s>'-sel kezdődik és '</s>' -re végződik.
    A SET-nél az van, hogy vágja ki a két fenti markup közti részt és rakja '<int>' és '</int>' közé.
    Tehát így transzformál (elvileg):
    '<s>1</s>' -> '<int>1</int>'
    '<s>12</s>' -> '<int>12</int>'
    '<s>999</s>' -> '<int>999</int>'
    stb.

    Ha esetleg más szerkezetű (is) a mező tartalma, amit konvertálni kell, akkor írj már rá, légy szíves, néhány példát és akkor átfogalmazzuk a parancsot.

    Leteszteltem az elobb, es kis modositassal mukodik. 1-nel tobb szamjeggyel is, ami nekem fontos. Itt egy masik pelda, amiben nem sok elteres van, szoval elvileg erre at tudom irni.
    < <boolean>false</boolean>, 152312 >
    < <boolean>true</boolean>, 176 >
    < <s>false</s>, 271636 >
    < <s>true</s>, 1338 >

    Itt ugye csak annyi valtozik, hogy az int-bol boolean lesz, tehat:
    update subscription_attribute sa
    set sa.VALUE = '<boolean>'||SUBSTR(sa.VALUE,4,LENGTH(sa.VALUE)-7)||'</boolean>'
    ...
    where sa.VALUE LIKE '<s>%</s>'

    Viszont ha megforditjuk a helyzetet, es boolean-bol kell mast csinalni, akkor mar a szamokat is at kell irni a SUBSTR utan. Ezt a reszt nem tudtam ertelmezni, csak kapisgalom:
    SUBSTR(column_value,4,LENGTH(sa.VALUE)-7)
    A column_value helyett sa.VALUE-val mukodik, a 4-es gondolom az elso karakter amit megovunk, de azt ami utana van nem ertem.

    :R :R

Új hozzászólás Aktív témák