SQL obtaining the last two digits of integer
Postgres has borrowed (or inherited) the modulus operator from C:
SET search_path='tmp';CREATE TABLE lutser ( year integer);INSERT INTO lutser (year) SELECT generate_series(1991,2012) ;SELECT year , year / 100 as c2 , year % 100 AS y2 FROM lutser ;
Result:
CREATE TABLEINSERT 0 22 year | c2 | y2 ------+----+---- 1991 | 19 | 91 1992 | 19 | 92 1993 | 19 | 93 1994 | 19 | 94 1995 | 19 | 95 1996 | 19 | 96 1997 | 19 | 97 1998 | 19 | 98 1999 | 19 | 99 2000 | 20 | 0 2001 | 20 | 1 2002 | 20 | 2 2003 | 20 | 3 2004 | 20 | 4 2005 | 20 | 5 2006 | 20 | 6 2007 | 20 | 7 2008 | 20 | 8 2009 | 20 | 9 2010 | 20 | 10 2011 | 20 | 11 2012 | 20 | 12(22 rows)
I don't know if there is a LEN function on Postgres, but if it does, try this:
select SUBSTRING(year,len(year)-1,len(year))