Skip to content

Instantly share code, notes, and snippets.

View snorkypie's full-sized avatar
💭
Building web applications in React

snorkypie snorkypie

💭
Building web applications in React
View GitHub Profile

Keybase proof

I hereby claim:

  • I am snorkypie on github.
  • I am snorkypie (https://keybase.io/snorkypie) on keybase.
  • I have a public key ASBMxgPDD4CxM_9LsS24_XZOqZCVF1HM3anBIKQLlyNviAo

To claim this, I am signing this object:

@snorkypie
snorkypie / validate_gtin.sql
Last active January 31, 2016 19:21
Validate GTIN
CREATE OR REPLACE FUNCTION public.validate_gtin (_gtin text, _raise boolean = false)
RETURNS bool LANGUAGE plpgsql IMMUTABLE AS $$
DECLARE
_IsValid boolean;
BEGIN
SELECT
T.CheckSum > 0 AND (10 - T.CheckSum % 10) % 10 = T.CheckDigit
INTO
_IsValid
FROM (
@snorkypie
snorkypie / validate_gtin14.sql
Last active January 11, 2016 19:29
Validate gtin14 using a PostgreSQL function
CREATE OR REPLACE FUNCTION public.validate_gtin (text)
RETURNS bool LANGUAGE sql IMMUTABLE AS $$
SELECT
T.CheckSum > 0 AND (10 - T.CheckSum % 10) % 10 = T.CheckDigit
FROM (
SELECT
cast(substr(gtin, 14, 1) as int) AS CheckDigit,
sum(cast(substr(gtin, i, 1) as int) * (array[1, 3])[i%2 + 1]) AS CheckSum
FROM
generate_series(1, 13) AS i,
@snorkypie
snorkypie / validate_norwegian_personid.sql
Last active August 29, 2015 14:11
Fix bug where D numbers didn't work correctly
CREATE OR REPLACE FUNCTION public.validate_norwegian_personid(_personid text) RETURNS boolean
LANGUAGE plpgsql IMMUTABLE
AS $$
DECLARE
_Source integer[];
_Weights integer[] := '{ {3,7,6,1,8,9,4,5,2,0}, {5,4,3,2,7,6,5,4,3,2} }';
_CheckDigit integer;
_Year integer;
_Month integer;
_Day integer;