2011-10-18 2 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; 

を発見した投稿します

関連する問題