表:
CREATE TABLE venue (id INTEGER DEFAULT NEXTVAL('venue_id_seq'), building_code building_code, floorNo int, roomNo int, width int, length int);
功能:
CREATE or REPLACE FUNCTION roomCode(_id int ) RETURNS text AS
$$
SELECT building_code + floorNo + roomNo FROM venue as v WHERE _id = v.id;
$$ LANGUAGE SQL;
如何将某些属性连接在一起?
答案 0 :(得分:2)
您可以使用string concatenation operator - ||
CREATE or REPLACE FUNCTION roomCode(_id int ) RETURNS text AS
$$
SELECT building_code || ' ' || floorNo::text || ' - ' || roomNo::text FROM venue as v WHERE _id = v.id;
$$ LANGUAGE SQL;
答案 1 :(得分:1)
我不知道这是否是最佳方式,但我认为它将完成工作:
您可以使用SELECT TEXTCAT( param 1, param 2)
如果您需要多个属性,则必须在TEXTCAT
内使用TEXTCAT
,例如:
TEXTCAT( param 1, TEXTCAT(param 2, param3))
如果您的属性不是文本类型,那么您必须将它们转换为文本:
attribute::text
所以回答你的问题:
SELECT TEXTCAT(building_code::text, TEXTCAT( floorNo::text , roomNo::text))