praegune kellaaeg 16.06.2024 23:16:32
|
Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
sõnum |
|
TechGuy
HV kasutaja
liitunud: 25.12.2012
|
25.02.2016 14:44:45
SQL: Kasutades RIGHT, et saada kätte veerust kolm viimast tähe märki |
|
|
Tere,
Olen jagelenud suht pikalt, et saada kätte ühest veerust viimast kolme tähemärki ja liigutada need uude veergu nimega "veerg2"
Koodijupp millega saan enda tulemused kätte on lihtne.
Select RIGHT(RTRIM(Nimi), 3) Riik from TABLE |
Aga tahan asja teha dünaamiliseks update lausega ja sealt algavad minu mured.
update #temp_table
set veerg2 = (Select RIGHT(RTRIM(nimi), 3) nimi2
from #temp_table a
where a.nimi is not NULL ) |
Tabel kuhu seda sisestatakse on olemas veerg2 ja selle hetkeline väärtus on NULL
Selle väitega tekib see probleem, et rohkem, kui üks kirje on seal (täpsem olla siis > 100 000)
Kas keegi oskab mind aidata, et kuidas teha seda koodi, et suudaks kõiki kirjete kolm viimast tähte lükata tabeli uude veergu?
|
|
Kommentaarid: 28 loe/lisa |
Kasutajad arvavad: |
|
:: |
1 :: |
0 :: |
22 |
|
tagasi üles |
|
|
77Mark
HV vaatleja
liitunud: 06.05.2011
|
25.02.2016 15:23:13
|
|
|
Asenda esimene rida "update #temp_table" reaga "update a"
|
|
Kommentaarid: 6 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
6 |
|
tagasi üles |
|
|
TechGuy
HV kasutaja
liitunud: 25.12.2012
|
25.02.2016 16:03:32
|
|
|
Mul eelnevalt on tekitatud ajutine tabel #temp_table kuhu on viidud sisse eelnevalt cast (null as varchar(50)) as veerg2
Kuhu sisestab siis selle update lausega.
|
|
Kommentaarid: 28 loe/lisa |
Kasutajad arvavad: |
|
:: |
1 :: |
0 :: |
22 |
|
tagasi üles |
|
|
wiinanina
HV kasutaja
liitunud: 27.02.2003
|
25.02.2016 19:08:40
|
|
|
TechGuy kirjutas: |
Mul eelnevalt on tekitatud ajutine tabel #temp_table kuhu on viidud sisse eelnevalt cast (null as varchar(50)) as veerg2
Kuhu sisestab siis selle update lausega. |
kas järgnev siis ei tööta?
Update a
set veerg2 = RIGHT(RTRIM(nimi), 3)
from #temp_table a
where a.nimi is not NULL
|
|
Kommentaarid: 1 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
1 |
|
tagasi üles |
|
|
TechGuy
HV kasutaja
liitunud: 25.12.2012
|
26.02.2016 09:57:31
|
|
|
Hakkas sedasi hoopis sedasi toimima:
update #temp_table
set veerg2= RIGHT(RTRIM(nimi), 3)
from #temp_table a
where a.nimi is not NULL |
|
|
Kommentaarid: 28 loe/lisa |
Kasutajad arvavad: |
|
:: |
1 :: |
0 :: |
22 |
|
tagasi üles |
|
|
|
lisa lemmikuks |
|
|
sa ei või postitada uusi teemasid siia foorumisse sa ei või vastata selle foorumi teemadele sa ei või muuta oma postitusi selles foorumis sa ei või kustutada oma postitusi selles foorumis sa ei või vastata küsitlustele selles foorumis sa ei saa lisada manuseid selles foorumis sa võid manuseid alla laadida selles foorumis
|
|
Hinnavaatlus ei vastuta foorumis tehtud postituste eest.
|