본문 바로가기

Database(디비)11

MSSQL 날짜에 대한 함수 1. 날짜에 대한 함수 ○ GETDATE - 현재 날짜와 시간을 구한다. - SELECT GETDATE() --> 2007-12-12 22:21:35.056 이런식으로 나온다. ○ DATEADD - datapart 부분에 number 값을 더한다. (datepart, number, date) ○ DATEDIFF - 두 날짜 사이의 datepart 값 ○ DATENAME - date 에 대한 datepart 를 이름으로 돌려준다. - SELECT DATENAME(dw, GETDATE()), DATENAME(mm, GETDATE()) --> 화요일, 12 ○ DATEPART - date 에 대해 지정된 datepart 를 돌려준다. - SELECT DATEPART(mm, GETDATE()) --> 12 ○ .. 2014. 1. 21.
MSSQL 문자에 대한 함수 1. 문자에 대한 함수 ○ LEFT - 왼쪽에서부터 주어진 길이만큼의 잘라낸다. ○ LEN - 주어진 문자의 길이 ○ LOWER - 소문자로 변환한다. ○ LTRIM - 왼쪽에 있는 빈칸을 삭제한다. ○ REPLACE - 문자열중에서 특정 문자를 지정한 문자로 바꾼다. ○ RIGHT - 오른쪽에서부터 주어진 길이만큼 잘라낸다. ○ RTRIM - 오른쪽에 있는 빈칸을 삭제한다. ○ SPACE - 빈칸을 지정한다. ○ STR - 숫자를 문자로 변환한다 ○ STUFF - 지정한 만큼의 문자열을 지우고 새로 지정한 문자열을 삽입한다. ○ SUBSTRING - 지정한 길이만큼 문자열을 잘라준다. ○ UPPER - 대문자로 바꾼다. 2014. 1. 21.
MSSQL 소수점 함수 MSSQL 소수점 함수 소수점 절사 함수 FLOOR()입니다. 사용법은 아래와 같습니다. SELECT FLOOR(10.1234) 쿼리 실행 후 결과 : 10 1. 숫자에 대한 산술적 연산 함수 ○ CEILING - 올림이다. 천장이란 뜻 ○ FLOOR - 버림이다. 마루라는 뜻 ○ RAND - 0과 1 사이의 임의의 부동 소수점 수. 랜덤한 숫자를 구할 때 쓴다. ○ ROUND - 반올림이다. 2014. 1. 20.
ORACLE 오라클에서 테이블 수정, 필드명 바꾸기, 필드의 데이터 타입 바꾸기, 필드 삭제 --테이블 생성 create table Member( id varchar2(12), pwd varchar2(12), name varchar2(20) ); desc member; --테이블의 컬럼 데이터 타입 수정 alter table member modify( id varchar(12) not null); desc member; --테이블에 제약조건(프라머리키) 추가 alter table member add( constraint member_id_pk primary key(id)); desc member; --테이블에 컬럼 추가 alter table member add( address varchar2(50) ); desc member; --테이블에 컬럼명 바꾸기 alter table member rena.. 2014. 1. 15.
MSSQL Oracle NVL 기능과 동일한 함수 MSSQL Oracle NVL 기능과 동일한 함수 isnull(field_name, "원하는 문자, 또는 숫자") coalesce 2014. 1. 8.
MSSQL 암호화( pwdencrypt, pwdcompare ) 암호화( pwdencrypt, pwdcompare ) CREATE TABLE [dbo].[test_encrypt]( [ussn1] [varchar](50) NULL, [ussn2] [varbinary](max) NULL, --자료형 확인 ) decalre @ussn1 int decalre @ussn2 int set @ussn1 = 830325 set @ussn2 = 1111111 insert into test_encrypt (ussn1, ussn2) values (@ussn1,pwdencrypt(@ussn2)) select * from test_encrypt where pwdcompare('1111111',ussn2) =1 --참이면 1 pwdencrypt 는 복호화가 없으며 값의 비교만 pwdcompa.. 2013. 12. 12.
MSSQL SQL이란 무엇인가? SQL 이란 무엇인가? SQL(S-Q-L 로 각 문자를 따로 발음하거나 붙여서 SEQUEL, 즉 시퀄이라고 발음 함)은 Structured Query Language(구조적 쿼리 언어)의 약자이다. SQL 은 데이터베이스와의 통신을 위해 특별히 고안된 언어이다. 영어나 한국어, 또는 Java나 Visual Basic과 같은 프로그래밍 언어와는 달리 SQL 은 단지 몇 개의 단어로만 구성된다. 한가지 분명한 목적, 즉 데이터베이스에서 데이터를 읽고 데이터베이스에 데이터를 쓰기 위한 용도로 만들어졌기 때문이다. SLQ이 가진 장점? 1. SQL은 특정한 데이터베이스 회사에서만 사용하는 점유물이 아니다. 대부분의 DBMS에서 SQL을 지원하므로 한 언어를 배워 모든 데이터베이스에서 활용할 수 있다. 2. SQ.. 2013. 12. 6.
MSSQL 기존 데이터 컬럼에 있는 날짜 지우고 NULL 값 넣기 기존 데이터 컬럼에 있는 날짜 지우고 NULL 값 넣기 UPDATE 사용 방법입니다. UPDATE ['테이블 명'] SET ['컬럼 명'] = '['수정할 데이터 값']' WHERE ['컬럼 명'] = ['기본 데이터 값'] select * from 테이블명 where 1=1 and user_id in ( '조건1, '조건2') select top 10 * from 테이블명 where 1=1 and crd_ord_code in ('조건1','조건2') begin tran update 테이블명 set pmt_wdate = NULL where crd_ord_code = '조건1' rollback 2013. 12. 4.
MSSQL 서브쿼리에 대해 SQL 서브쿼리에 대해 SELECT 에 사용되는 서브쿼리의 특징과 주의점 SELECT 절에 사용하는 서브쿼리는 스칼라 서브쿼리라고 합니다. SELECT 절에 기술하였으므로 결과에 대한 검색이됩니다. 따라서 해당 서브쿼리의 반환 행의 개수도 반드시 0 또는 1이어야 합니다. 보통 스칼라서브쿼리의 경우 기준정보 성격의 마스터테이블에 주로 활용합니다. 이는 보통 코드에 맞는 명칭을 검색할때 주로 사용한다고 보시면 됩니다. FROM 에 사용되는 서브쿼리의 특징과 주의점 FROM절에 사용하는 서브쿼리는 인라인뷰라고 합니다. 보통 Query의 재정의라고 하는데요. 원시정보에 대해 어떤 결과를 만들기 위해서 원시데이터를 가공하여 새로운 형태의 정보를 만들어 내어 이를 기준으로 FROM절을 재정의하여 만들어 나가게 됩.. 2013. 11. 26.
MSSQL with (nolock) 란? with (nolock) 란? SQL Server의 기본 격리 수준(isolation level)은 read committed 입니다. 그래서 데이터를 읽을 때는 공유 잠금이 유지됩니다. 그러므로, 쉽게 설명하자면 SELECT문이 실행 중인 동안에 같은 row혹은 table에 insert나 update하는 작업은 block됩니다. 거꾸로 같은 row, data page 혹은 테이블에 데이터를 insert, update하는 동안 SELECT문은 block되게 됩니다. 이렇게 되면 데이터베이스 성능이 현저히 떨어지게 됩니다. 그러므로 일반적으로 단순 조회 쿼리에는 with (nolock)문을 추가하여 사용합니다. ex) SELECT * FROM MEMBER with (nolock) 2013. 11. 20.
MSSQL 날짜 변환 함수 MS-SQL 날짜 변환 함수 1. SYSDATE -> GETDATE() SQL Server에서 DB 서버의 현재 시간을 구하는 함수는 GETDATE() 입니다 2. TO_CHAR -> CONVERT(varchar,datetime,number) SELECT CONVERT(varchar,reg_date,23) AS regDate FROM test_table; 위와 같이 변환할 수 있구요 아래는 Date형 변환시 Convert 함수의 사용예입니다. CONVERT(VARCHAR(20), GETDATE(), 0) /*07 15 2010 1:54PM */ CONVERT(VARCHAR(20), GETDATE(), 1) /*07/15/15 */ CONVERT(VARCHAR(20), GETDATE(), 2) /*10.0.. 2013. 11. 1.