Matrixkid Posted January 30, 2009 Share Posted January 30, 2009 Hi there, I have a column with some fields that I need to switch around the way it is stored. ex: field: id KILLERS, THE USED, THE PEOPLE, THE MUSIC, THE I want to run a query to make it into THE KILLERS THE USED THE PEOPLE THE MUSIC So far ive got this far, but just need the end part. UPDATE _testing set id = replace(id,'%, THE', I am unclear as to how to finish this statement. Thanks! Quote Link to comment https://forums.phpfreaks.com/topic/143176-solved-update-replace-query/ Share on other sites More sharing options...
fenway Posted February 2, 2009 Share Posted February 2, 2009 Mysql doesn't support capturing parens like php. I suppose you could be sneaky like this: UPDATE _testing set id = IF( LOCATE( REVERSE(', THE'), REVERSE(yourField) ) = 1 ,CONCAT( 'THE ', REVERSE( SUBSTRING( REVERSE(yourField), LOCATE( REVERSE(', THE'), REVERSE(yourField) )+length(', THE') ) ) ) ,yourField ) Quote Link to comment https://forums.phpfreaks.com/topic/143176-solved-update-replace-query/#findComment-752447 Share on other sites More sharing options...
Matrixkid Posted February 2, 2009 Author Share Posted February 2, 2009 Mysql doesn't support capturing parens like php. I suppose you could be sneaky like this: UPDATE _testing set id = IF( LOCATE( REVERSE(', THE'), REVERSE(yourField) ) = 1 ,CONCAT( 'THE ', REVERSE( SUBSTRING( REVERSE(yourField), LOCATE( REVERSE(', THE'), REVERSE(yourField) )+length(', THE') ) ) ) ,yourField ) Wow. thats just dirty. never thought of doing it like that. thanks for the help! I appreciate it Quote Link to comment https://forums.phpfreaks.com/topic/143176-solved-update-replace-query/#findComment-752534 Share on other sites More sharing options...
fenway Posted February 3, 2009 Share Posted February 3, 2009 No problem... enjoy! Quote Link to comment https://forums.phpfreaks.com/topic/143176-solved-update-replace-query/#findComment-753342 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.