Tja...
Select position('#' in '2010-####-3434');
ger dig den första. Om du vill ha den sista kör du bara den igen med baksidan av strängen. En pl/pgsql-sträng omvänd kan hittas här .
Select length('2010-####-3434') - position('#' in reverse_string('2010-####-3434')) + 1;