Specifying an NLS parameter for an SQL function means that any User Session 
  NLS parameters (or the lack of) will not affect evaluation 
  of the function.
  
  This feature can be important for SQL statements that contain numbers and dates 
  as string literals. For example, the following query is evaluated correctly 
only if the language specified for dates is American: 
SELECT ENAME FROM EMP WHERE HIREDATE > '1-JAN-01'
This can be made independent of the current date language by specifying NLS_DATE_LANGUAGE:
SELECT ENAME FROM EMP
WHERE HIREDATE > TO_DATE('1-JAN-01','DD-MON-YY',
   'NLS_DATE_LANGUAGE = AMERICAN')
Using all numerics is also language-independent:
SELECT ENAME FROM EMP
WHERE HIREDATE > TO_DATE('1-01-01','DD-MM-YY')
NLS settings include Character set, Language and Territory
Common character sets:
WE8ISO8859P15 European English includes euro character US7ASCII American English
The DATE datatype always stores a four-digit year internally.
    
  If you use the standard date format DD-MON-YY
  YY will assume a year in the range  1900-1999 - 
  it is strongly recommended you apply a specific format mask.
    
YEAR 2000  Check:
SELECT
to_char(add_months(to_date('01-JAN-1998', 'DD-MON-YYYY'),1 * 12),'DD-MON-YYYY') y1999,
to_char(add_months(to_date('01-JAN-1998', 'DD-MON-YYYY'),2 * 12),'DD-MON-YYYY') y2000,
to_char(add_months(to_date('01-JAN-1998', 'DD-MON-YYYY'),7 * 12),'DD-MON-YYYY') y2005,
to_char(add_months(to_date('01-JAN-1998', 'DD-MON-YYYY'),52 * 12),'DD-MON-YYYY') y2050
FROM
DUAL;
-- Expected output from script above
-- Y1999       Y2000       Y2005       Y2050
-- ----------- ----------- ----------- -----------
-- 01-JAN-1999 01-JAN-2000 01-JAN-2005 01-JAN-2050
Oracle Languages
e.g. NLS_LANGUAGE = "MEXICAN SPANISH" 
us AMERICAN ar ARABIC bn BENGALI ptb BRAZILIAN PORTUGUESE bg BULGARIAN frc CANADIAN FRENCH ca CATALAN zhs SIMPLIFIED CHINESE hr CROATIAN cs CZECH dk DANISH nl DUTCH eg EGYPTIAN gb ENGLISH et ESTONIAN sf FINNISH f FRENCH din GERMAN DIN d GERMAN el GREEK iw HEBREW hu HUNGARIAN is ICELANDIC in INDONESIAN i ITALIAN ja JAPANESE ko KOREAN esa LATIN AMERICAN SPANISH lv LATVIAN lt LITHUANIAN ms MALAY esm MEXICAN SPANISH n NORWEGIAN pl POLISH pt PORTUGUESE ro ROMANIAN ru RUSSIAN sk SLOVAK sl SLOVENIAN e SPANISH s SWEDISH th THAI zht TRADITIONAL CHINESE tr TURKISH uk UKRAINIAN vn VIETNAMESE
The NLS_LANGUAGE above implicitly defines several other parameters:
NLS_DATE_LANGUAGE, NLS_SORT
Oracle Territories
e.g. NLS_TERRITORY = "UNITED KINGDOM"
ALGERIA AMERICA AUSTRALIA AUSTRIA BAHRAIN BANGLADESH BELGIUM BRAZIL BULGARIA CANADA CATALONIA CHINA CIS CROATIA CYPRUS CZECH CZECHOSLOVAKIA DENMARK DJIBOUTI EGYPT ESTONIA FINLAND FRANCE GERMANY GREECE HONG KONG HUNGARY ICELAND INDONESIA IRAQ IRELAND ISRAEL ITALY JAPAN JORDAN KAZAKHSTAN KOREA KUWAIT LATVIA LEBANON LIBYA LITHUANIA LUXEMBOURG MALAYSIA MAURITANIA MEXICO MOROCCO NEW ZEALAND NORWAY OMAN POLAND PORTUGAL QATAR ROMANIA SAUDI ARABIA SINGAPORE SLOVAKIA SLOVENIA SOMALIA SOUTH AFRICA SPAIN SUDAN SWEDEN SWITZERLAND SYRIA TAIWAN THAILAND THE NETHERLANDS TUNISIA TURKEY UKRAINE UNITED ARAB EMIRATES UNITED KINGDOM UZBEKISTAN VIETNAM YEMEN
The NLS_TERRITORY implicitly defines several other parameters:
NLS_NUMERIC_CHARACTERS, NLS_CURRENCY, NLS_ISO_CURRENCY, NLS_DATE_FORMAT, NLS_MONETARY_CHARACTERS, NLS_CREDIT, NLS_DEBIT
If necessary these can be explicitly defined e.g. NLS_NUMERIC_CHARACTERS = ",."
NLS_COMP
This provides a simple alternative to specifying NLS_SORT in an SQL WHERE clause
>NLS formats will affect SQL statements in 
  views, CHECK constraints, and triggers.
  
  Related Commands
  
ALTER SESSION