[MySQL]Append String

Pagina: 1
Acties:

  • glashio
  • Registratie: Oktober 2001
  • Laatst online: 23-05 18:57

glashio

C64 > AMIGA > PC

Topicstarter
Ik ben bezig met een herindexering van een paar bestaande tabellen.
Hiervoor bouw ik een hulp-query die mogenlijkheid geeft een om een stuk string te vervangen in alle aangegeven records.

Als volgt ....
code:
1
2
3
4
5
6
+--[Orgineel]--+--[Huidig]--+--[Mijn vraag]--+
|   AA-1234    |   -1234    |   CC-1234      | (effected)
|   AA-4321    |   -4321    |   CC-4321      | (effected)
|   BB-1234    |   BB-1234  |   BB-1234      |
|   BB-4321    |   BB-4321  |   BB-4321      |
+--------------+------------+----------------+
MySQL Code hulp-query
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/* Create & Fill */

CREATE TABLE `GoT_glashio` 
( `mystring` VARCHAR( 255 ) NOT NULL );
INSERT INTO `GoT_glashio` VALUES 
 ('AA-1234'),
 ('AA-4321'),
 ('BB-1234'),
 ('BB-4321');

/* Execute Mutation */

UPDATE `GoT_glashio` SET 
 `mystring`= 'CC' + RIGHT( `mystring`, LENGTH(`mystring`)-2 )
WHERE
 LEFT ( `mystring`, 2 ) = 'AA';

/*Show Result */

SELECT `mystring` as `klopt niet` FROM `GoT_glashio`;

'CC' + op regel 14
+ vervangen met & | $ . [spatie] geeft ook geen resultaat

Dat is waar ik mee zit 8)7 Ik heb al Google,Mysql Dev.,GoT Shearch.... gebruikt geen resultaat.
Het zal wel iets heel simpels zijn... dat maakt de ergenis alleen maar groter :)

> Google Certified Searcher
> Make users so committed to Google that it would be painful to leave
> C64 Gospel
> [SjoQ] = SjoQing


  • beetle71
  • Registratie: Februari 2003
  • Laatst online: 14-05 15:52
code:
1
2
3
4
UPDATE `GoT_glashio` SET 
 `mystring`= concat('CC',RIGHT( `mystring`, LENGTH(`mystring`)-2 ))
WHERE
 LEFT ( `mystring`, 2 ) = 'AA';


Should do the trick...

Edit: overigens, kijk ook eens naar de MySQL functie REPLACE
http://dev.mysql.com/doc/mysql/en/String_functions.html

[ Voor 32% gewijzigd door beetle71 op 29-04-2004 09:32 ]


  • ripexx
  • Registratie: Juli 2002
  • Laatst online: 12:15

ripexx

bibs

Voor het samen voegen van strings in MySQL gebruik je concat, dit zou dan het volgende worden:
SQL:
1
2
3
4
UPDATE `GoT_glashio` SET 
 mystring = CONCAT ('CC', 'mystring');
WHERE
 LEFT ( `mystring`, 2 ) = 'AA';


Wat ACM dus zegt ;)

[ Voor 27% gewijzigd door ripexx op 29-04-2004 10:27 ]

buit is binnen sukkel


  • glashio
  • Registratie: Oktober 2001
  • Laatst online: 23-05 18:57

glashio

C64 > AMIGA > PC

Topicstarter
Inderdaad It Does
ripexx schreef op 29 april 2004 @ 09:29:
Voor het samen voegen van strings in SQL gebruik je concat, dit zou dan het volgende worden:
Klopt...

Mag ik jullie 2 3 hartelijk danken :) Ik had al bijna hartkloppingen gekregen >:)
* glashio z'n dag begint al helemaal TOP!, met antwoorden als deze

[ Voor 4% gewijzigd door glashio op 29-04-2004 22:39 ]

> Google Certified Searcher
> Make users so committed to Google that it would be painful to leave
> C64 Gospel
> [SjoQ] = SjoQing


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Overigens is in de SQL-standaard de concattenation dmv de ||-combinatie, niet met een +-je. MySQL ondersteund het helaas niet, maar dit is voor mensen die in andere SQL-oplossingen gaan zoeken naar een concat-functie :)

Dus ripexx' opmerking is niet correct, je gebruikt in MySQL de concat-operator, in SQL gebruik je de ||-operator ( 'bla' || 'die' || 'bla' enzo)