Previous Page | Next Page

Functions and CALL Routines

ZIPSTATE Function



Converts ZIP codes to two-character state postal codes.
Category: State and Zip Code

Syntax
Arguments
Details
The Basics
How the Zip Code Is Translated to the State Postal Code
Army Post Office (APO) and Fleet Post Office (FPO) Postal Codes
Determining When the State Postal Code Table Was Last Updated
Comparisons
Examples
See Also

Syntax

ZIPSTATE(zip-code)


Arguments

zip-code

specifies a numeric or character expression that contains a valid five-digit ZIP code.

Tip: If the value of zip-code begins with leading zeros, you can enter the value without the leading zeros. For example, if you enter 1040, ZIPSTATE assumes that the value is 01040.

Details


The Basics

If the ZIPSTATE function returns a value to a variable that has not yet been assigned a length, by default the variable is assigned a length of 20.

ZIPSTATE returns the two-character state postal code (or world-wide GSA geographic code for U.S. territories) that corresponds to its five-digit ZIP code argument. ZIPSTATE returns character values in uppercase.

Note:   ZIPSTATE does not validate the ZIP code.   [cautionend]


How the Zip Code Is Translated to the State Postal Code

To determine which state corresponds to a particular ZIP code, this function uses a zone table that consists of the start and end ZIP code values for each state. It then finds the corresponding state for that range of ZIP codes. The zone table consists of start and end ZIP code values for each state to allow for exceptions, and does not validate ZIP code values.

With very few exceptions, a zone does not span multiple states. The exceptions are included in the zone table. It is possible for new zones or new exceptions to be added by the U.S. Postal Service at any time. However, SAS software is updated only with each new release of the product.


Army Post Office (APO) and Fleet Post Office (FPO) Postal Codes

The ZIPSTATE function recognizes APO and FPO ZIP codes. The APO and FPO states correspond to their exit bases in the United States.


Determining When the State Postal Code Table Was Last Updated

The SASHELP.ZIPCODE data set contains postal code information that is used with the ZIPSTATE and other ZIP code functions. This data set is updated with each new release of SAS software. To determine when this table was last updated, execute PROC CONTENTS:

proc contents data=SASHELP.ZIPCODE;
run;

Then view the label information for the SASHELP.ZIPCODE data set:

Label                zipcodedownload.com                                      
                     April2004, UNIQUE-updated                                
                     (sorted) February                                        
                     2006, Release 9.2  

The label shows that zipcodedownload.com is the site from which the ZIP codes were downloaded, and that April 2004 is the date that the ZIP codes were last refreshed. February 2006 is the last date that modifications were made to SASHELP.ZIPCODE.

Note:   You can download the latest version of the SASHELP.ZIPCODE file from the SAS external Web site at any time. The file is located at http://support.sas.com/rnd/datavisualization/mapsonline/html/misc.html. Select Zipcode Dataset from the Name column to begin the download process. You must execute the CIMPORT procedure after you download and unzip the data set.  [cautionend]


Comparisons

The ZIPCITY, ZIPNAME, ZIPNAMEL, and ZIPSTATE functions accept the same argument but return different values:


Examples

The following SAS statements produce these results.

SAS Statements Results
state1=zipstate('27511');
put state1;
 
NC
state2=zipstate('01040');
put state2;
 
MA
state3=zipstate(1040);
put state3;
 
MA
state4=zipstate(59017);
put state4;
 
MT
length zip $10.;
zip='90049-1392';
zip=substr(zip,1,5);
state5=zipstate(zip);
put state5;
 
CA


See Also

Functions:

ZIPFIPS Function

ZIPNAME Function

ZIPNAMEL Function

ZIPCITY Function

Previous Page | Next Page | Top of Page