SQL obtaining the last two digits of integer SQL obtaining the last two digits of integer sql sql

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)


select substring(CAST(2012 as CHAR(4)), 3, 2)


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))