0
幾年前,我發現MySQL的這個CAP_FIRST功能:從MySQL轉換CAP_FIRST功能向PostgreSQL
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 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;
我已經使用這個功能,廣泛的人的名字轉換成合適的資本化報表,就像這樣:
UPDATE DataImport
SET FirstName = CAP_FIRST(FirstName);
UPDATE DataImport
SET LastName = CAP_FIRST(LastName);
現在我正在遷移到PostgreSQL,並且需要這個相同的功能。我是否需要將此函數轉換爲PostgreSQL,還是有更好的方法來獲得相同的結果?如果我確實需要轉換,有人可以幫助我嗎?