2016-04-15 17 views
1

入力としてIDを取得し、その年の最後の2つの項目を連結するSQL関数を作成しようとしています。SQL関数付きのconcat

たとえば、関数と型を呼び出すと、私は00X1として出力するようにします。それ、どうやったら出来るの?フィールドyearを想定し

おかげ

id | unswid | year | term | name |  longname  | starting | ending | startbrk | endbrk | endwd | endenrol | census 
-----+--------+------+------+-----------+----------------------+------------+------------+----------+--------+-------+------------+------------ 
112 | 5001 | 2000 | X1 | Summ 2000 | Summer Semester 2000 | 1999-12-01 | 2000-01-31 |   |  |  |   | 1999-12-24 
114 | 5004 | 2000 | S1 | Sem1 2000 | Semester 1 2000  | 2000-02-01 | 2000-06-30 |   |  |  | 2000-03-11 | 2000-03-31 
113 | 5005 | 2000 | X2 | Wint 2000 | Winter Semester 2000 | 2000-06-14 | 2000-07-14 |   |  |  |   | 
115 | 5007 | 2000 | S2 | Sem2 2000 | Semester 2 2000  | 2000-07-01 | 2000-12-31 |   |  |  | 2000-07-28 | 2000-08-31 
117 | 5011 | 2001 | X1 | Summ 2001 | Summer Semester 2001 | 2000-12-01 | 2001-02-25 |   |  |  | 2001-01-30 | 2001-01-31 

答えて

1

は、あなたが行うことができますinteger次のとおりです。

CREATE FUNCTION year_term(n integer) RETURNS text AS $$ 
    SELECT (year % 100)::text || term FROM my_table WHERE id = n; 
$$ LANGUAGE sql STRICT; 

フィールドyearはあなたが行うことができますvarcharまたはtextの場合:

CREATE FUNCTION year_term(n integer) RETURNS text AS $$ 
    SELECT right(year, 2) || term FROM my_table WHERE id = n; 
$$ LANGUAGE sql STRICT; 
+0

感謝あなたはそんなに –

関連する問題