2011-10-18 4 views
0

열 uk_city의 데이터를 다시 포맷해야합니다. 현재 모든 행 항목은 대문자입니다. FirstChr 대문자와 다른 소문자로 다시 포맷하려고합니다.열의 데이터 케이스 변경

FELTON to Felton 
FENNY COMPTON to Fenny Compton 

답변

1

나는 당신이 당신의 데이터베이스에서이 함수를 만드는 경우

UPDATE uk_city SET name = CAP_FIRST(name); 
을 할 수있는 기능이 here

CREATE FUNCTION CAP_FIRST (input VARCHAR(255)) 

RETURNS VARCHAR(255) 

DETERMINISTIC 

BEGIN 
    DECLARE len INT; 
    DECLARE i INT; 

    SET len = CHAR_LENGTH(input); 
    SET input = LOWER(input); 
    SET i = 0; 

    WHILE (i < len) DO 
     IF (MID(input,i,1) = ' ' OR i = 0) THEN 
      IF (i < len) THEN 
       SET input = CONCAT(
        LEFT(input,i), 
        UPPER(MID(input,i + 1,1)), 
        RIGHT(input,len - i - 1) 
       ); 
      END IF; 
     END IF; 
     SET i = i + 1; 
    END WHILE; 

    RETURN input; 
END; 

을 발견 게시