| Functions and CALL Routines | 
| Category: | Character | 
| Restriction: | I18N Level 0 | 
| Syntax | |
| Arguments | |
| Details | |
| Examples | |
| See Also | 
Syntax | 
| NVALID(string<,validvarname>) | 
specifies a character constant, variable, or expression which will be checked to determine whether its value can be used as a SAS variable name.
Note:   Trailing blanks are
ignored.  ![[cautionend]](../../../../common/63294/HTML/default/images/cautend.gif)
| Tip: | Enclose a literal string of characters in quotation marks. | 
is a character constant, variable, or expression that specifies one of the following values:
| Default: | If no value is specified, the NVALID function determines that string is a valid SAS variable name based on the value of the SAS system option VALIDVARNAME=. | 
| Details | 
The NVALID function checks the value of string to determine whether it can be used as a SAS variable name.
The NVALID function returns a value of 1 or 0.
| Condition | Returned Value | |
|---|---|---|
| string can be used as a SAS variable name | 1 | |
| string cannot be used as a SAS variable name | 0 | |
| Examples | 
This example determines the validity of specified strings as SAS variable names. The value that is returned by the NVALID function varies with the validvarname argument. The value of 1 is returned when the string is determined to be a valid SAS variable name under the rules for the specified validvarname argument. Otherwise, the value of 0 is returned.
options validvarname=v7 ls=64; data string; input string $char40.; v7=nvalid(string,'v7'); any=nvalid(string,'any'); nliteral=nvalid(string,'nliteral'); default=nvalid(string); datalines; Tooooooooooooooooooooooooooo Long OK Very_Long_But_Still_OK_for_V7 1st_char_is_a_digit Embedded blank !@#$%^&* "Very Loooong N-Literal with """N 'No closing quotation mark ; proc print noobs; title1 'NLITERAL and Validvarname Arguments Determine'; title2 'Invalid (0) and Valid (1) SAS Variable Names'; run;
Determining the Validity of SAS Variable Names with NLITERAL
        NLITERAL and Validvarname Arguments Determine          1
          Invalid (0) and Valid (1) SAS Variable Names
 string                             v7  any  nliteral  default
 Tooooooooooooooooooooooooooo Long   0   0       0        0   
                                     0   0       0        0   
 OK                                  1   1       1        1   
 Very_Long_But_Still_OK_for_V7       1   1       1        1   
 1st_char_is_a_digit                 0   1       1        0   
 Embedded blank                      0   1       1        0   
 !@#$%^&*                            0   1       1        0   
 "Very Loooong N-Literal with """N   0   0       1        0   
 'No closing quotation mark          0   1       0        0   
| See Also | 
| 
 | |||||
| 
 | |||||
| 
 Rules for Words and Names in the SAS Language in SAS Language Reference: Concepts  | 
Copyright © 2011 by SAS Institute Inc., Cary, NC, USA. All rights reserved.