Last active
September 1, 2016 18:03
-
-
Save stompro/c51e8fd6ae5acabfb876cf7a912da680 to your computer and use it in GitHub Desktop.
SQL Address Fixes Evergreen
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- Look for country entries not in listed | |
select * from actor.usr_address | |
where upper(country) not in | |
('US', 'UK', 'DE', 'CA') | |
; | |
-- Match country names that should be converted to codes. | |
WITH CountryCodes (name, code) | |
AS | |
( | |
SELECT name, code | |
FROM ( | |
VALUES | |
('USA', 'US'), | |
('Canada', 'CA'), | |
('England', 'UK'), | |
('United Kingdom', 'UK'), | |
('Germany', 'DE'), | |
('United States', 'US') | |
) AS CountryCodes (name, code) | |
) | |
select * from | |
actor.usr_address aua | |
join CountryCodes on upper(aua.country)=upper(CountryCodes.name) | |
; | |
-- Show unique country values | |
select country, count(country) | |
from | |
actor.usr_address | |
group by country | |
; | |
--Update country names to codes. | |
WITH CountryCodes (name, code) | |
AS | |
( | |
SELECT name, code | |
FROM ( | |
VALUES | |
('USA', 'US'), | |
('Canada', 'CA'), | |
('England', 'UK'), | |
('United Kingdom', 'UK'), | |
('Germany', 'DE'), | |
('United States', 'US') | |
) AS CountryCodes (name, code) | |
) | |
update actor.usr_address aua | |
set country=CountryCodes.code | |
from | |
CountryCodes | |
where | |
upper(aua.country)=upper(CountryCodes.name) | |
returning aua.id,aua.usr,aua.street1,aua.street2, aua.city, aua.county | |
,CountryCodes.name oldcountry , aua.country, aua.state, aua.post_code | |
; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- Look for addresses with states that are not abbreviated but could be. | |
-- Months and Abbreviations | |
WITH MonthCodes (month, code) | |
AS | |
( | |
SELECT month, code | |
FROM ( | |
VALUES | |
('Alabama', 'AL'), | |
('Alaska', 'AK'), | |
('Arizona', 'AZ'), | |
('Arkansas', 'AR'), | |
('California', 'CA'), | |
('Colorado', 'CO'), | |
('Connecticut', 'CT'), | |
('Delaware', 'DE'), | |
('Florida', 'FL'), | |
('Georgia', 'GA'), | |
('Hawaii', 'HI'), | |
('Idaho', 'ID'), | |
('Illinois', 'IL'), | |
('Indiana', 'IN'), | |
('Iowa', 'IA'), | |
('Kansas', 'KS'), | |
('Kentucky', 'KY'), | |
('Louisiana', 'LA'), | |
('Maine', 'ME'), | |
('Maryland', 'MD'), | |
('Massachusetts', 'MA'), | |
('Michigan', 'MI'), | |
('Minnesota', 'MN'), | |
('Mississippi', 'MS'), | |
('Missouri', 'MO'), | |
('Montana', 'MT'), | |
('Nebraska', 'NE'), | |
('Nevada', 'NV'), | |
('New Hampshire', 'NH'), | |
('New Jersey', 'NJ'), | |
('New Mexico', 'NM'), | |
('New York', 'NY'), | |
('North Carolina', 'NC'), | |
('North Dakota', 'ND'), | |
('Ohio', 'OH'), | |
('Oklahoma', 'OK'), | |
('Oregon', 'OR'), | |
('Pennsylvania', 'PA'), | |
('Rhode Island', 'RI'), | |
('South Carolina', 'SC'), | |
('South Dakota', 'SD'), | |
('Tennessee', 'TN'), | |
('Texas', 'TX'), | |
('Utah', 'UT'), | |
('Vermont', 'VT'), | |
('Virginia', 'VA'), | |
('Washington', 'WA'), | |
('West Virginia', 'WV'), | |
('Wisconsin', 'WI'), | |
('Wyoming', 'WY') | |
) AS MonthCodes (month, code) | |
) | |
Select * | |
from | |
actor.usr_address aua | |
join monthcodes on upper(aua.state)=upper(monthcodes.month) | |
; | |
-- All addresses without abbreviated state. | |
select * from actor.usr_address | |
where upper(state) not in | |
('AL', 'AK', 'AZ', 'AR', 'CA', 'CO', 'CT', 'DE', 'FL', | |
'GA', 'HI', 'ID', 'IL', 'IN', 'IA', 'KS', 'KY', 'LA', | |
'ME', 'MD', 'MA', 'MI', 'MN', 'MS', 'MO', 'MT', 'NE', | |
'NV', 'NH', 'NJ', 'NM', 'NY', 'NC', 'ND', 'OH', 'OK', | |
'OR', 'PA', 'RI', 'SC', 'SD', 'TN', 'TX', 'UT', 'VT', | |
'VA', 'WA', 'WV', 'WI', 'WY', 'MB', 'ON', 'NONE') | |
; | |
--Lowercase state abbreviations | |
select * | |
from | |
actor.usr_address | |
where | |
state~'[a-z]' | |
and state~'^..$' | |
; | |
--Update state abbreviations to uppercase. | |
update actor.usr_address | |
set state=upper(state) | |
where | |
state~'[a-z]' | |
and state~'^..$' | |
returning id,usr,state | |
; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- State abbreviation CTE for use in queries. | |
-- Months and Abbreviations | |
WITH MonthCodes (month, code) | |
AS | |
( | |
SELECT month, code | |
FROM ( | |
VALUES | |
('Alabama', 'AL'), | |
('Alaska', 'AK'), | |
('Arizona', 'AZ'), | |
('Arkansas', 'AR'), | |
('California', 'CA'), | |
('Colorado', 'CO'), | |
('Connecticut', 'CT'), | |
('Delaware', 'DE'), | |
('Florida', 'FL'), | |
('Georgia', 'GA'), | |
('Hawaii', 'HI'), | |
('Idaho', 'ID'), | |
('Illinois', 'IL'), | |
('Indiana', 'IN'), | |
('Iowa', 'IA'), | |
('Kansas', 'KS'), | |
('Kentucky', 'KY'), | |
('Louisiana', 'LA'), | |
('Maine', 'ME'), | |
('Maryland', 'MD'), | |
('Massachusetts', 'MA'), | |
('Michigan', 'MI'), | |
('Minnesota', 'MN'), | |
('Mississippi', 'MS'), | |
('Missouri', 'MO'), | |
('Montana', 'MT'), | |
('Nebraska', 'NE'), | |
('Nevada', 'NV'), | |
('New Hampshire', 'NH'), | |
('New Jersey', 'NJ'), | |
('New Mexico', 'NM'), | |
('New York', 'NY'), | |
('North Carolina', 'NC'), | |
('North Dakota', 'ND'), | |
('Ohio', 'OH'), | |
('Oklahoma', 'OK'), | |
('Oregon', 'OR'), | |
('Pennsylvania', 'PA'), | |
('Rhode Island', 'RI'), | |
('South Carolina', 'SC'), | |
('South Dakota', 'SD'), | |
('Tennessee', 'TN'), | |
('Texas', 'TX'), | |
('Utah', 'UT'), | |
('Vermont', 'VT'), | |
('Virginia', 'VA'), | |
('Washington', 'WA'), | |
('West Virginia', 'WV'), | |
('Wisconsin', 'WI'), | |
('Wyoming', 'WY'), | |
) AS MonthCodes (month, code) | |
) | |
Select * | |
from | |
MonthCodes | |
; | |
-- State abbreviation in list for use in queries | |
('AL', 'AK', 'AZ', 'AR', 'CA', 'CO', 'CT', 'DE', 'FL', | |
'GA', 'HI', 'ID', 'IL', 'IN', 'IA', 'KS', 'KY', 'LA', | |
'ME', 'MD', 'MA', 'MI', 'MN', 'MS', 'MO', 'MT', 'NE', | |
'NV', 'NH', 'NJ', 'NM', 'NY', 'NC', 'ND', 'OH', 'OK', | |
'OR', 'PA', 'RI', 'SC', 'SD', 'TN', 'TX', 'UT', 'VT', | |
'VA', 'WA', 'WV', 'WI', 'WY') | |
--Update states | |
-- Update state to abbreviated form where there is a match. | |
-- states and Abbreviations | |
WITH StateCodes (state, code) | |
AS | |
( | |
SELECT state, code | |
FROM ( | |
VALUES | |
('Alabama', 'AL'), | |
('Alaska', 'AK'), | |
('Arizona', 'AZ'), | |
('Arkansas', 'AR'), | |
('California', 'CA'), | |
('Colorado', 'CO'), | |
('Connecticut', 'CT'), | |
('Delaware', 'DE'), | |
('Florida', 'FL'), | |
('Georgia', 'GA'), | |
('Hawaii', 'HI'), | |
('Idaho', 'ID'), | |
('Illinois', 'IL'), | |
('Indiana', 'IN'), | |
('Iowa', 'IA'), | |
('Kansas', 'KS'), | |
('Kentucky', 'KY'), | |
('Louisiana', 'LA'), | |
('Maine', 'ME'), | |
('Maryland', 'MD'), | |
('Massachusetts', 'MA'), | |
('Michigan', 'MI'), | |
('Minnesota', 'MN'), | |
('Mississippi', 'MS'), | |
('Missouri', 'MO'), | |
('Montana', 'MT'), | |
('Nebraska', 'NE'), | |
('Nevada', 'NV'), | |
('New Hampshire', 'NH'), | |
('New Jersey', 'NJ'), | |
('New Mexico', 'NM'), | |
('New York', 'NY'), | |
('North Carolina', 'NC'), | |
('North Dakota', 'ND'), | |
('Ohio', 'OH'), | |
('Oklahoma', 'OK'), | |
('Oregon', 'OR'), | |
('Pennsylvania', 'PA'), | |
('Rhode Island', 'RI'), | |
('South Carolina', 'SC'), | |
('South Dakota', 'SD'), | |
('Tennessee', 'TN'), | |
('Texas', 'TX'), | |
('Utah', 'UT'), | |
('Vermont', 'VT'), | |
('Virginia', 'VA'), | |
('Washington', 'WA'), | |
('West Virginia', 'WV'), | |
('Wisconsin', 'WI'), | |
('Wyoming', 'WY') | |
) AS StateCodes (state, code) | |
) | |
update actor.usr_address aua | |
set state=StateCodes.code | |
from | |
StateCodes | |
where | |
upper(aua.state)=upper(StateCodes.state) | |
returning aua.id,aua.usr,aua.street1,aua.street2, aua.city, aua.county, | |
statecodes.state oldstate, aua.state, aua.post_code | |
; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
('Alabama', 'AL'), | |
('Alaska', 'AK'), | |
('Arizona', 'AZ'), | |
('Arkansas', 'AR'), | |
('California', 'CA'), | |
('Colorado', 'CO'), | |
('Connecticut', 'CT'), | |
('Delaware', 'DE'), | |
('Florida', 'FL'), | |
('Georgia', 'GA'), | |
('Hawaii', 'HI'), | |
('Idaho', 'ID'), | |
('Illinois', 'IL'), | |
('Indiana', 'IN'), | |
('Iowa', 'IA'), | |
('Kansas', 'KS'), | |
('Kentucky', 'KY'), | |
('Louisiana', 'LA'), | |
('Maine', 'ME'), | |
('Maryland', 'MD'), | |
('Massachusetts', 'MA'), | |
('Michigan', 'MI'), | |
('Minnesota', 'MN'), | |
('Mississippi', 'MS'), | |
('Missouri', 'MO'), | |
('Montana', 'MT'), | |
('Nebraska', 'NE'), | |
('Nevada', 'NV'), | |
('New Hampshire', 'NH'), | |
('New Jersey', 'NJ'), | |
('New Mexico', 'NM'), | |
('New York', 'NY'), | |
('North Carolina', 'NC'), | |
('North Dakota', 'ND'), | |
('Ohio', 'OH'), | |
('Oklahoma', 'OK'), | |
('Oregon', 'OR'), | |
('Pennsylvania', 'PA'), | |
('Rhode Island', 'RI'), | |
('South Carolina', 'SC'), | |
('South Dakota', 'SD'), | |
('Tennessee', 'TN'), | |
('Texas', 'TX'), | |
('Utah', 'UT'), | |
('Vermont', 'VT'), | |
('Virginia', 'VA'), | |
('Washington', 'WA'), | |
('West Virginia', 'WV'), | |
('Wisconsin', 'WI'), | |
('Wyoming', 'WY') |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment