Mysql Query Help Please

Discussion in 'MySQL' started by emmah, Sep 1, 2006.

  1. #1
    Dear Everyone,

    I have a small but hopefully simple problem. Please forgive my misuse of technical terminology but I am hoping someone can provide some advise.

    We have a database of nearly 1.6 million UK business address (MYSQL) all with post codes (zip codes). Post codes can have either 6 or 7 digits, for example: RG28PL or TR129BM (notice no spaces).

    I need them to be in the following format:

    RG2(space)8PL or TR12(space)9BM - or looking like this: RG2 8PL and TR12 9BM

    The only consistent that I can see is that it is always the last 3 digits after the space. So at the begining is could have 3 or 4 digits followed always by the last 3 digits.

    I could do this manualy but that would take me until I am 30 (I am 22 now) so I was hoping that I could use a query to amend all the post codes to read exactly as above?

    Just to further complicate this there are 'some' (an unknown quantity) that are in the correct format so I dont wish for these to change otherwise there would be a double space and not the one.

    The table coloumn is post_codes in this particular table.

    Is this possible?

    Thank you in advance for any help and advice.

    EmmaH
     
    emmah, Sep 1, 2006 IP
  2. phd

    phd Active Member

    Messages:
    496
    Likes Received:
    14
    Best Answers:
    0
    Trophy Points:
    60
    #2
    First of all, Welcome emmah to DP...

    I suggest to you to write small PHP program that read in and update simulteniously the database, with the power of PHP it would be very easy to solve your problem. Another thing I suggest is just read from backward that try extracing last 3 digit and put space there... just a suggestion
     
    phd, Sep 1, 2006 IP
  3. rosytoes

    rosytoes Peon

    Messages:
    230
    Likes Received:
    4
    Best Answers:
    0
    Trophy Points:
    0
    #3
    As above, also to be more specific, may be you could use ereg to match whether it's AA9 or AA99, then process accordingly.
     
    rosytoes, Sep 2, 2006 IP
  4. masashi

    masashi Peon

    Messages:
    9
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #4
    I'm not familiar with MySQL but sure it has something like length() and substring() functions, which should be enough.
     
    masashi, Sep 11, 2006 IP