SlideShare a Scribd company logo
1 of 13
SQL기초강좌
NLS Parameters
(1)
NLS Parameters
NLS(National Language Support)는 언어 지원과 관련된 파라미터를 지칭
하며 SQL*PLUS등에서 확인 하려면 다음과 같이 조회한다.
SQL> show parameter nls
SQL기초강좌_NLS Parameters
SQL기초강좌_NLS Parameters
SQL> show parameter nls
NAME TYPE VALUE
----------------------- ------ --------
nls_calendar string //sysdate등에서 보이는 캘린더 데이터 포맷
nls_comp string BINARY //where절, PL/SQL안의 NLS데이터 비교 방법
nls_currency string
nls_date_format string
nls_date_language string
nls_dual_currency string
nls_iso_currency string
nls_language string AMERICAN
nls_length_semantics string BYTE
nls_nchar_conv_excp string FALSE
nls_numeric_characters string
nls_sort string
nls_territory string AMERICA
nls_time_format string
nls_time_tz_format string
nls_timestamp_format string
nls_timestamp_tz_format string
NLS Parameters
NLS_DATE_FORMAT이란?
테이블의 날짜형 칼럼에 값을 입력 시 DATE형으로 만들어 입력을 하거나
NLS_DATE_FORMAT에 맞는 문자열이라면 문자열로 입력이 가능하다. 가끔
날짜형에 문자를 넣을 때 FORMAT이 맞지 않아 애로사항이 있을 수 있으니
NLS_DATE_FORMAT 값을 알고 그 형식대로 문자열을 입력하면 된다.
실제 날짜 표기(TO_CHAR, TO_DATE 실행시) “월요일”, “MON” 으로 표시를
좌우하는 NLS_DATE_FORMAT 값은 NLS_LANGUAGE 을 따른다.
NLS_DATE_FORMAT은 현재 시스템의 기본 날짜 입출력 형태를 지정하는
파라미터 이며 TO_CHAR, TO_DATE 함수의 기본 DATE FORMAT이다.
SQL기초강좌_NLS Parameters
SQL> select * from nls_session_parameters
2 where parameter = 'NLS_DATE_FORMAT';
PARAMETER VALUE
------------------- -----------------------------------------
NLS_DATE_FORMAT RR/MM/DD
SQL> select sysdate from dual;
SYSDATE
--------
16/09/07
SQL> create table datetest (
2 mydate date
3 );
테이블이 생성되었습니다.
NLS Parameters
SQL기초강좌_NLS Parameters
SQL> insert into datetest values ('16/10/01');
1 개의 행이 만들어졌습니다.
SQL> insert into datetest values ('16-10-02');
1 개의 행이 만들어졌습니다.
SQL> insert into datetest values ('20161003');
1 개의 행이 만들어졌습니다.
SQL> insert into datetest values ('161004');
1 개의 행이 만들어졌습니다.
SQL> insert into datetest values ('10-06-2016');
insert into datetest values ('10-06-2016')
*
1행에 오류:
ORA-01830: 날짜 형식의 지정에 불필요한 데이터가 포함되어 있습니다
NLS Parameters
SQL기초강좌_NLS Parameters
SQL> select * from datetest;
MYDATE
--------
16/10/01
-- NLS_DATE_FORMAT에 맞지 않는 문자열이라면 DATE형으로 형변환해서 입력하면 된다.
SQL> insert into datetest values (to_date('10-06-2016','dd-mm-yyyy'));
1 개의 행이 만들어졌습니다.
SQL> select * from datetest;
MYDATE
--------
16/10/01
……
16/10/06
NLS Parameters
SQL기초강좌_NLS Parameters
-- NLS_DATE_FORMAT을 변경하여 현재 시스템의 날짜 입출력 포맷을 바꾸자.
SQL> alter session set nls_date_format='yyyy.mm.dd';
세션이 변경되었습니다.
SQL> select * from datetest;
MYDATE
----------
16.10.01
……
16.10.06
-- NLS_LANGUAGE값을 한국어로 바꾸자. NLS_DATE_FORMAT은 NLS_LANGUAGE값을 따른다.
SQL> alter session set nls_language='KOREAN';
세션이 변경되었습니다.
NLS Parameters
SQL기초강좌_NLS Parameters
-- 요일을 단축형과 전체표기 방식으로 표시
SQL> SELECT TO_CHAR(sysdate,'DAY'), TO_CHAR(sysdate,'DY') from DUAL;
TO_CHAR(S TO_C
--------- ----
화요일 화
SQL> alter session set nls_language='AMERICAN';
Session altered.
SQL> SELECT TO_CHAR(sysdate,'DAY'), TO_CHAR(sysdate,'DY') from DUAL;
TO_CHAR(SYSDA TO_CHA
------------- ------
TUESDAY TUE
NLS Parameters
SQL기초강좌_NLS Parameters
-- 월을 단축/축약형태로 표시(한글로 월표시는 단축형과 전체표기방식으로 표시하는 것이 같다.)
SQL> alter session set nls_date_format = 'YYYY-MON-DD';
세션이 변경되었습니다.
SQL> select hiredate from emp where rownum < 3;
HIREDATE
----------------
1980-12월-17
1981-2월 -20
NLS Parameters
SQL기초강좌_NLS Parameters
-- 월을 전체표기 방식으로 표시하자.
SQL> alter session set nls_date_format = 'YYYY-MONTH-DD';
세션이 변경되었습니다.
SQL> select hiredate from emp where rownum < 3;
HIREDATE
--------------
1980-12월-17
1981-2월 -20
SQL> alter session set nls_language='AMERICAN';
Session altered.
NLS Parameters
SQL기초강좌_NLS Parameters
-- 요일을 단축형과 전체표기 방식으로 표시
SQL> SELECT TO_CHAR(sysdate,'DAY'), TO_CHAR(sysdate,'DY') from DUAL;
TO_CHAR(SYSDA TO_CHA
------------- ------
SUNDAY SUN
-- 영문의 경우 단축형과 전체표기 방식이 다르다. 단축형은 3글자만 표시한다.
SQL> alter session set nls_date_format = 'YYYY-MON-DD';
Session altered.
NLS Parameters
SQL기초강좌_NLS Parameters
SQL> select hiredate from emp where rownum < 3;
HIREDATE
--------------
1980-DEC-17
1981-FEB-20
SQL> alter session set nls_date_format = 'YYYY-MONTH-DD';
Session altered.
SQL> select hiredate from emp where rownum < 3;
HIREDATE
---------------------
1980-DECEMBER -17
1981-FEBRUARY -20
NLS Parameters
SQL기초강좌_NLS Parameters

More Related Content

More from 탑크리에듀(구로디지털단지역3번출구 2분거리)

(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기
(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기
(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
[아이오닉학원]아이오닉 하이브리드 앱 개발 과정(아이오닉2로 동적 모바일 앱 만들기)
[아이오닉학원]아이오닉 하이브리드 앱 개발 과정(아이오닉2로 동적 모바일 앱 만들기)[아이오닉학원]아이오닉 하이브리드 앱 개발 과정(아이오닉2로 동적 모바일 앱 만들기)
[아이오닉학원]아이오닉 하이브리드 앱 개발 과정(아이오닉2로 동적 모바일 앱 만들기)
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
[뷰제이에스학원]뷰제이에스(Vue.js) 프로그래밍 입문(프로그레시브 자바스크립트 프레임워크)
[뷰제이에스학원]뷰제이에스(Vue.js) 프로그래밍 입문(프로그레시브 자바스크립트 프레임워크)[뷰제이에스학원]뷰제이에스(Vue.js) 프로그래밍 입문(프로그레시브 자바스크립트 프레임워크)
[뷰제이에스학원]뷰제이에스(Vue.js) 프로그래밍 입문(프로그레시브 자바스크립트 프레임워크)
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
[씨샵학원/씨샵교육]C#, 윈폼, 네트워크, ado.net 실무프로젝트 과정
[씨샵학원/씨샵교육]C#, 윈폼, 네트워크, ado.net 실무프로젝트 과정[씨샵학원/씨샵교육]C#, 윈폼, 네트워크, ado.net 실무프로젝트 과정
[씨샵학원/씨샵교육]C#, 윈폼, 네트워크, ado.net 실무프로젝트 과정
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
[wpf학원,wpf교육]닷넷, c#기반 wpf 프로그래밍 인터페이스구현 재직자 향상과정
[wpf학원,wpf교육]닷넷, c#기반 wpf 프로그래밍 인터페이스구현 재직자 향상과정[wpf학원,wpf교육]닷넷, c#기반 wpf 프로그래밍 인터페이스구현 재직자 향상과정
[wpf학원,wpf교육]닷넷, c#기반 wpf 프로그래밍 인터페이스구현 재직자 향상과정
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
[자마린교육/자마린실습]자바,스프링프레임워크(스프링부트) RESTful 웹서비스 구현 실습,자마린에서 스프링 웹서비스를 호출하고 응답 JS...
[자마린교육/자마린실습]자바,스프링프레임워크(스프링부트) RESTful 웹서비스 구현 실습,자마린에서 스프링 웹서비스를 호출하고 응답 JS...[자마린교육/자마린실습]자바,스프링프레임워크(스프링부트) RESTful 웹서비스 구현 실습,자마린에서 스프링 웹서비스를 호출하고 응답 JS...
[자마린교육/자마린실습]자바,스프링프레임워크(스프링부트) RESTful 웹서비스 구현 실습,자마린에서 스프링 웹서비스를 호출하고 응답 JS...
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
[구로자마린학원/자마린강좌/자마린교육]3. xamarin.ios 3.3.5 추가적인 사항
[구로자마린학원/자마린강좌/자마린교육]3. xamarin.ios  3.3.5 추가적인 사항[구로자마린학원/자마린강좌/자마린교육]3. xamarin.ios  3.3.5 추가적인 사항
[구로자마린학원/자마린강좌/자마린교육]3. xamarin.ios 3.3.5 추가적인 사항
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
3. xamarin.i os 3.3 xamarin.ios helloworld 자세히 살펴보기 3.4.4 view controllers an...
3. xamarin.i os 3.3 xamarin.ios helloworld 자세히 살펴보기 3.4.4 view controllers an...3. xamarin.i os 3.3 xamarin.ios helloworld 자세히 살펴보기 3.4.4 view controllers an...
3. xamarin.i os 3.3 xamarin.ios helloworld 자세히 살펴보기 3.4.4 view controllers an...
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
5. 서브 쿼리(sub query) 5.1 서브 쿼리(sub query) 개요 5.2 단일행 서브쿼리(single row sub query)
5. 서브 쿼리(sub query) 5.1 서브 쿼리(sub query) 개요 5.2 단일행 서브쿼리(single row sub query)5. 서브 쿼리(sub query) 5.1 서브 쿼리(sub query) 개요 5.2 단일행 서브쿼리(single row sub query)
5. 서브 쿼리(sub query) 5.1 서브 쿼리(sub query) 개요 5.2 단일행 서브쿼리(single row sub query)
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
3. xamarin.i os 3.1 xamarin.ios 설치, 개발환경 3.2 xamarin.ios helloworld(단일 뷰) 실습[...
3. xamarin.i os 3.1 xamarin.ios 설치, 개발환경 3.2 xamarin.ios helloworld(단일 뷰) 실습[...3. xamarin.i os 3.1 xamarin.ios 설치, 개발환경 3.2 xamarin.ios helloworld(단일 뷰) 실습[...
3. xamarin.i os 3.1 xamarin.ios 설치, 개발환경 3.2 xamarin.ios helloworld(단일 뷰) 실습[...
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
자바, 웹 기초와 스프링 프레임워크 & 마이바티스 재직자 향상과정(자바학원/자바교육/자바기업출강]
자바, 웹 기초와 스프링 프레임워크 & 마이바티스 재직자 향상과정(자바학원/자바교육/자바기업출강]자바, 웹 기초와 스프링 프레임워크 & 마이바티스 재직자 향상과정(자바학원/자바교육/자바기업출강]
자바, 웹 기초와 스프링 프레임워크 & 마이바티스 재직자 향상과정(자바학원/자바교육/자바기업출강]
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
3. xamarin.i os 3.1 xamarin.ios 설치, 개발환경 3.2 xamarin.ios helloworld_자마린학원_자마린...
3. xamarin.i os 3.1 xamarin.ios 설치, 개발환경 3.2 xamarin.ios helloworld_자마린학원_자마린...3. xamarin.i os 3.1 xamarin.ios 설치, 개발환경 3.2 xamarin.ios helloworld_자마린학원_자마린...
3. xamarin.i os 3.1 xamarin.ios 설치, 개발환경 3.2 xamarin.ios helloworld_자마린학원_자마린...
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
3. 안드로이드 애플리케이션 구성요소 3.2인텐트 part01(안드로이드학원/안드로이드교육/안드로이드강좌/안드로이드기업출강]
3. 안드로이드 애플리케이션 구성요소 3.2인텐트 part01(안드로이드학원/안드로이드교육/안드로이드강좌/안드로이드기업출강]3. 안드로이드 애플리케이션 구성요소 3.2인텐트 part01(안드로이드학원/안드로이드교육/안드로이드강좌/안드로이드기업출강]
3. 안드로이드 애플리케이션 구성요소 3.2인텐트 part01(안드로이드학원/안드로이드교육/안드로이드강좌/안드로이드기업출강]
탑크리에듀(구로디지털단지역3번출구 2분거리)
 

More from 탑크리에듀(구로디지털단지역3번출구 2분거리) (20)

자마린.안드로이드 기본 내장레이아웃(Built-In List Item Layouts)
자마린.안드로이드 기본 내장레이아웃(Built-In List Item Layouts)자마린.안드로이드 기본 내장레이아웃(Built-In List Item Layouts)
자마린.안드로이드 기본 내장레이아웃(Built-In List Item Layouts)
 
(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기
(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기
(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기
 
자마린 iOS 멀티화면 컨트롤러_네비게이션 컨트롤러, 루트 뷰 컨트롤러
자마린 iOS 멀티화면 컨트롤러_네비게이션 컨트롤러, 루트 뷰 컨트롤러자마린 iOS 멀티화면 컨트롤러_네비게이션 컨트롤러, 루트 뷰 컨트롤러
자마린 iOS 멀티화면 컨트롤러_네비게이션 컨트롤러, 루트 뷰 컨트롤러
 
[IT교육/IT학원]Develope를 위한 IT실무교육
[IT교육/IT학원]Develope를 위한 IT실무교육[IT교육/IT학원]Develope를 위한 IT실무교육
[IT교육/IT학원]Develope를 위한 IT실무교육
 
[아이오닉학원]아이오닉 하이브리드 앱 개발 과정(아이오닉2로 동적 모바일 앱 만들기)
[아이오닉학원]아이오닉 하이브리드 앱 개발 과정(아이오닉2로 동적 모바일 앱 만들기)[아이오닉학원]아이오닉 하이브리드 앱 개발 과정(아이오닉2로 동적 모바일 앱 만들기)
[아이오닉학원]아이오닉 하이브리드 앱 개발 과정(아이오닉2로 동적 모바일 앱 만들기)
 
[뷰제이에스학원]뷰제이에스(Vue.js) 프로그래밍 입문(프로그레시브 자바스크립트 프레임워크)
[뷰제이에스학원]뷰제이에스(Vue.js) 프로그래밍 입문(프로그레시브 자바스크립트 프레임워크)[뷰제이에스학원]뷰제이에스(Vue.js) 프로그래밍 입문(프로그레시브 자바스크립트 프레임워크)
[뷰제이에스학원]뷰제이에스(Vue.js) 프로그래밍 입문(프로그레시브 자바스크립트 프레임워크)
 
[씨샵학원/씨샵교육]C#, 윈폼, 네트워크, ado.net 실무프로젝트 과정
[씨샵학원/씨샵교육]C#, 윈폼, 네트워크, ado.net 실무프로젝트 과정[씨샵학원/씨샵교육]C#, 윈폼, 네트워크, ado.net 실무프로젝트 과정
[씨샵학원/씨샵교육]C#, 윈폼, 네트워크, ado.net 실무프로젝트 과정
 
[정보처리기사자격증학원]정보처리기사 취득 양성과정(국비무료 자격증과정)
[정보처리기사자격증학원]정보처리기사 취득 양성과정(국비무료 자격증과정)[정보처리기사자격증학원]정보처리기사 취득 양성과정(국비무료 자격증과정)
[정보처리기사자격증학원]정보처리기사 취득 양성과정(국비무료 자격증과정)
 
[wpf학원,wpf교육]닷넷, c#기반 wpf 프로그래밍 인터페이스구현 재직자 향상과정
[wpf학원,wpf교육]닷넷, c#기반 wpf 프로그래밍 인터페이스구현 재직자 향상과정[wpf학원,wpf교육]닷넷, c#기반 wpf 프로그래밍 인터페이스구현 재직자 향상과정
[wpf학원,wpf교육]닷넷, c#기반 wpf 프로그래밍 인터페이스구현 재직자 향상과정
 
(WPF교육)ListBox와 Linq 쿼리를 이용한 간단한 데이터바인딩, 새창 띄우기, 이벤트 및 델리게이트를 통한 메인윈도우의 ListB...
(WPF교육)ListBox와 Linq 쿼리를 이용한 간단한 데이터바인딩, 새창 띄우기, 이벤트 및 델리게이트를 통한 메인윈도우의 ListB...(WPF교육)ListBox와 Linq 쿼리를 이용한 간단한 데이터바인딩, 새창 띄우기, 이벤트 및 델리게이트를 통한 메인윈도우의 ListB...
(WPF교육)ListBox와 Linq 쿼리를 이용한 간단한 데이터바인딩, 새창 띄우기, 이벤트 및 델리게이트를 통한 메인윈도우의 ListB...
 
[자마린교육/자마린실습]자바,스프링프레임워크(스프링부트) RESTful 웹서비스 구현 실습,자마린에서 스프링 웹서비스를 호출하고 응답 JS...
[자마린교육/자마린실습]자바,스프링프레임워크(스프링부트) RESTful 웹서비스 구현 실습,자마린에서 스프링 웹서비스를 호출하고 응답 JS...[자마린교육/자마린실습]자바,스프링프레임워크(스프링부트) RESTful 웹서비스 구현 실습,자마린에서 스프링 웹서비스를 호출하고 응답 JS...
[자마린교육/자마린실습]자바,스프링프레임워크(스프링부트) RESTful 웹서비스 구현 실습,자마린에서 스프링 웹서비스를 호출하고 응답 JS...
 
[구로자마린학원/자마린강좌/자마린교육]3. xamarin.ios 3.3.5 추가적인 사항
[구로자마린학원/자마린강좌/자마린교육]3. xamarin.ios  3.3.5 추가적인 사항[구로자마린학원/자마린강좌/자마린교육]3. xamarin.ios  3.3.5 추가적인 사항
[구로자마린학원/자마린강좌/자마린교육]3. xamarin.ios 3.3.5 추가적인 사항
 
3. xamarin.i os 3.3 xamarin.ios helloworld 자세히 살펴보기 3.4.4 view controllers an...
3. xamarin.i os 3.3 xamarin.ios helloworld 자세히 살펴보기 3.4.4 view controllers an...3. xamarin.i os 3.3 xamarin.ios helloworld 자세히 살펴보기 3.4.4 view controllers an...
3. xamarin.i os 3.3 xamarin.ios helloworld 자세히 살펴보기 3.4.4 view controllers an...
 
5. 서브 쿼리(sub query) 5.1 서브 쿼리(sub query) 개요 5.2 단일행 서브쿼리(single row sub query)
5. 서브 쿼리(sub query) 5.1 서브 쿼리(sub query) 개요 5.2 단일행 서브쿼리(single row sub query)5. 서브 쿼리(sub query) 5.1 서브 쿼리(sub query) 개요 5.2 단일행 서브쿼리(single row sub query)
5. 서브 쿼리(sub query) 5.1 서브 쿼리(sub query) 개요 5.2 단일행 서브쿼리(single row sub query)
 
3. xamarin.i os 3.1 xamarin.ios 설치, 개발환경 3.2 xamarin.ios helloworld(단일 뷰) 실습[...
3. xamarin.i os 3.1 xamarin.ios 설치, 개발환경 3.2 xamarin.ios helloworld(단일 뷰) 실습[...3. xamarin.i os 3.1 xamarin.ios 설치, 개발환경 3.2 xamarin.ios helloworld(단일 뷰) 실습[...
3. xamarin.i os 3.1 xamarin.ios 설치, 개발환경 3.2 xamarin.ios helloworld(단일 뷰) 실습[...
 
(닷넷,자마린,아이폰실습)Xamarin.iOS HelloWorld 실습_멀티화면,화면전환_Xamarin교육/Xamarin강좌
(닷넷,자마린,아이폰실습)Xamarin.iOS HelloWorld 실습_멀티화면,화면전환_Xamarin교육/Xamarin강좌(닷넷,자마린,아이폰실습)Xamarin.iOS HelloWorld 실습_멀티화면,화면전환_Xamarin교육/Xamarin강좌
(닷넷,자마린,아이폰실습)Xamarin.iOS HelloWorld 실습_멀티화면,화면전환_Xamarin교육/Xamarin강좌
 
C#기초에서 윈도우, 스마트폰 앱개발 과정(c#.net, ado.net, win form, wpf, 자마린)_자마린학원_씨샵교육_WPF학원...
C#기초에서 윈도우, 스마트폰 앱개발 과정(c#.net, ado.net, win form, wpf, 자마린)_자마린학원_씨샵교육_WPF학원...C#기초에서 윈도우, 스마트폰 앱개발 과정(c#.net, ado.net, win form, wpf, 자마린)_자마린학원_씨샵교육_WPF학원...
C#기초에서 윈도우, 스마트폰 앱개발 과정(c#.net, ado.net, win form, wpf, 자마린)_자마린학원_씨샵교육_WPF학원...
 
자바, 웹 기초와 스프링 프레임워크 & 마이바티스 재직자 향상과정(자바학원/자바교육/자바기업출강]
자바, 웹 기초와 스프링 프레임워크 & 마이바티스 재직자 향상과정(자바학원/자바교육/자바기업출강]자바, 웹 기초와 스프링 프레임워크 & 마이바티스 재직자 향상과정(자바학원/자바교육/자바기업출강]
자바, 웹 기초와 스프링 프레임워크 & 마이바티스 재직자 향상과정(자바학원/자바교육/자바기업출강]
 
3. xamarin.i os 3.1 xamarin.ios 설치, 개발환경 3.2 xamarin.ios helloworld_자마린학원_자마린...
3. xamarin.i os 3.1 xamarin.ios 설치, 개발환경 3.2 xamarin.ios helloworld_자마린학원_자마린...3. xamarin.i os 3.1 xamarin.ios 설치, 개발환경 3.2 xamarin.ios helloworld_자마린학원_자마린...
3. xamarin.i os 3.1 xamarin.ios 설치, 개발환경 3.2 xamarin.ios helloworld_자마린학원_자마린...
 
3. 안드로이드 애플리케이션 구성요소 3.2인텐트 part01(안드로이드학원/안드로이드교육/안드로이드강좌/안드로이드기업출강]
3. 안드로이드 애플리케이션 구성요소 3.2인텐트 part01(안드로이드학원/안드로이드교육/안드로이드강좌/안드로이드기업출강]3. 안드로이드 애플리케이션 구성요소 3.2인텐트 part01(안드로이드학원/안드로이드교육/안드로이드강좌/안드로이드기업출강]
3. 안드로이드 애플리케이션 구성요소 3.2인텐트 part01(안드로이드학원/안드로이드교육/안드로이드강좌/안드로이드기업출강]
 

SQL_NLS parameters(1)

  • 2. NLS Parameters NLS(National Language Support)는 언어 지원과 관련된 파라미터를 지칭 하며 SQL*PLUS등에서 확인 하려면 다음과 같이 조회한다. SQL> show parameter nls SQL기초강좌_NLS Parameters
  • 3. SQL기초강좌_NLS Parameters SQL> show parameter nls NAME TYPE VALUE ----------------------- ------ -------- nls_calendar string //sysdate등에서 보이는 캘린더 데이터 포맷 nls_comp string BINARY //where절, PL/SQL안의 NLS데이터 비교 방법 nls_currency string nls_date_format string nls_date_language string nls_dual_currency string nls_iso_currency string nls_language string AMERICAN nls_length_semantics string BYTE nls_nchar_conv_excp string FALSE nls_numeric_characters string nls_sort string nls_territory string AMERICA nls_time_format string nls_time_tz_format string nls_timestamp_format string nls_timestamp_tz_format string
  • 4. NLS Parameters NLS_DATE_FORMAT이란? 테이블의 날짜형 칼럼에 값을 입력 시 DATE형으로 만들어 입력을 하거나 NLS_DATE_FORMAT에 맞는 문자열이라면 문자열로 입력이 가능하다. 가끔 날짜형에 문자를 넣을 때 FORMAT이 맞지 않아 애로사항이 있을 수 있으니 NLS_DATE_FORMAT 값을 알고 그 형식대로 문자열을 입력하면 된다. 실제 날짜 표기(TO_CHAR, TO_DATE 실행시) “월요일”, “MON” 으로 표시를 좌우하는 NLS_DATE_FORMAT 값은 NLS_LANGUAGE 을 따른다. NLS_DATE_FORMAT은 현재 시스템의 기본 날짜 입출력 형태를 지정하는 파라미터 이며 TO_CHAR, TO_DATE 함수의 기본 DATE FORMAT이다. SQL기초강좌_NLS Parameters
  • 5. SQL> select * from nls_session_parameters 2 where parameter = 'NLS_DATE_FORMAT'; PARAMETER VALUE ------------------- ----------------------------------------- NLS_DATE_FORMAT RR/MM/DD SQL> select sysdate from dual; SYSDATE -------- 16/09/07 SQL> create table datetest ( 2 mydate date 3 ); 테이블이 생성되었습니다. NLS Parameters SQL기초강좌_NLS Parameters
  • 6. SQL> insert into datetest values ('16/10/01'); 1 개의 행이 만들어졌습니다. SQL> insert into datetest values ('16-10-02'); 1 개의 행이 만들어졌습니다. SQL> insert into datetest values ('20161003'); 1 개의 행이 만들어졌습니다. SQL> insert into datetest values ('161004'); 1 개의 행이 만들어졌습니다. SQL> insert into datetest values ('10-06-2016'); insert into datetest values ('10-06-2016') * 1행에 오류: ORA-01830: 날짜 형식의 지정에 불필요한 데이터가 포함되어 있습니다 NLS Parameters SQL기초강좌_NLS Parameters
  • 7. SQL> select * from datetest; MYDATE -------- 16/10/01 -- NLS_DATE_FORMAT에 맞지 않는 문자열이라면 DATE형으로 형변환해서 입력하면 된다. SQL> insert into datetest values (to_date('10-06-2016','dd-mm-yyyy')); 1 개의 행이 만들어졌습니다. SQL> select * from datetest; MYDATE -------- 16/10/01 …… 16/10/06 NLS Parameters SQL기초강좌_NLS Parameters
  • 8. -- NLS_DATE_FORMAT을 변경하여 현재 시스템의 날짜 입출력 포맷을 바꾸자. SQL> alter session set nls_date_format='yyyy.mm.dd'; 세션이 변경되었습니다. SQL> select * from datetest; MYDATE ---------- 16.10.01 …… 16.10.06 -- NLS_LANGUAGE값을 한국어로 바꾸자. NLS_DATE_FORMAT은 NLS_LANGUAGE값을 따른다. SQL> alter session set nls_language='KOREAN'; 세션이 변경되었습니다. NLS Parameters SQL기초강좌_NLS Parameters
  • 9. -- 요일을 단축형과 전체표기 방식으로 표시 SQL> SELECT TO_CHAR(sysdate,'DAY'), TO_CHAR(sysdate,'DY') from DUAL; TO_CHAR(S TO_C --------- ---- 화요일 화 SQL> alter session set nls_language='AMERICAN'; Session altered. SQL> SELECT TO_CHAR(sysdate,'DAY'), TO_CHAR(sysdate,'DY') from DUAL; TO_CHAR(SYSDA TO_CHA ------------- ------ TUESDAY TUE NLS Parameters SQL기초강좌_NLS Parameters
  • 10. -- 월을 단축/축약형태로 표시(한글로 월표시는 단축형과 전체표기방식으로 표시하는 것이 같다.) SQL> alter session set nls_date_format = 'YYYY-MON-DD'; 세션이 변경되었습니다. SQL> select hiredate from emp where rownum < 3; HIREDATE ---------------- 1980-12월-17 1981-2월 -20 NLS Parameters SQL기초강좌_NLS Parameters
  • 11. -- 월을 전체표기 방식으로 표시하자. SQL> alter session set nls_date_format = 'YYYY-MONTH-DD'; 세션이 변경되었습니다. SQL> select hiredate from emp where rownum < 3; HIREDATE -------------- 1980-12월-17 1981-2월 -20 SQL> alter session set nls_language='AMERICAN'; Session altered. NLS Parameters SQL기초강좌_NLS Parameters
  • 12. -- 요일을 단축형과 전체표기 방식으로 표시 SQL> SELECT TO_CHAR(sysdate,'DAY'), TO_CHAR(sysdate,'DY') from DUAL; TO_CHAR(SYSDA TO_CHA ------------- ------ SUNDAY SUN -- 영문의 경우 단축형과 전체표기 방식이 다르다. 단축형은 3글자만 표시한다. SQL> alter session set nls_date_format = 'YYYY-MON-DD'; Session altered. NLS Parameters SQL기초강좌_NLS Parameters
  • 13. SQL> select hiredate from emp where rownum < 3; HIREDATE -------------- 1980-DEC-17 1981-FEB-20 SQL> alter session set nls_date_format = 'YYYY-MONTH-DD'; Session altered. SQL> select hiredate from emp where rownum < 3; HIREDATE --------------------- 1980-DECEMBER -17 1981-FEBRUARY -20 NLS Parameters SQL기초강좌_NLS Parameters