Una bella funzione che permette di identificare se un numero di telefono è un cellulare.
Vecchissima… molto naive
CREATE OR REPLACE FUNCTION iscel(telnumber character varying) RETURNS boolean AS $BODY$ DECLARE prefissi varchar[32]; i int; trovato int; BEGIN prefissi[1]='313'; prefissi[2]='330'; prefissi[3]='333'; prefissi[4]='334'; prefissi[5]='335'; prefissi[6]='336'; prefissi[7]='337'; prefissi[8]='338'; prefissi[9]='339'; prefissi[10]='360'; prefissi[11]='363'; prefissi[12]='366'; prefissi[13]='368'; prefissi[14]='390'; prefissi[15]='391'; prefissi[16]='392'; prefissi[17]='393'; prefissi[18]='340'; prefissi[19]='340'; prefissi[20]='343'; prefissi[21]='346'; prefissi[22]='347'; prefissi[23]='348'; prefissi[24]='349'; prefissi[25]='320'; prefissi[26]='323'; prefissi[27]='328'; prefissi[28]='329'; prefissi[29]='380'; prefissi[30]='383'; prefissi[31]='388'; prefissi[32]='389'; trovato:=0; FOR i IN 1 .. 32 LOOP IF (prefissi[i]=substr($1,0,4)) THEN trovato:=1; END IF; END LOOP; IF (trovato=1) THEN return TRUE; ELSE return FALSE; END IF; END; $BODY$ LANGUAGE 'plpgsql' VOLATILE;