반응형

 

DATE 자료형 데이터 출력하기

 

DB에 저장된 DATE 형식의 데이터를 그대로 VIEW 단에 끌고오면 이상한글씨가 생긴다.

 

그럴땐 아예 SELECT 할때 처리해주면 된다

SELECT TO_CHAR(CDATE, 'yyyy-mm-dd hh:mm:ss')
FROM 테이블

TO_CHAR 로 스트링으로 변환을 암시하고 파라메터로 변환할 컬럼, 변환시킬 데이터 형식을 설정해주면 된다.

YYYY-MM-DD HH:MM 까지만 해도 그대로 출력된다.

 

 

DATE 자료형 데이터 입력하기

 

테스트 등의 이유로 인하여 DATE 형식의 컬럼에 값을 넣을때에는 

UPDATE 테이블명
SET 컬럼 = TO_DATE('2019-08-13 10:00:00', 'YYYY-MM-DD hh24:mi:ss')
WHERE 인덱스

이런식으로 넣으면 된다.

24시간 기준이라면 시간 옆에 24를 추가하면 된다.

왜 시간 분 초를 HH MI SS 로 했냐면

Month 의 MM과 Minute 의 mm이 같으면 인식을 못하기에 분은 mi로 표기해준다.

728x90
반응형

프로시저의 기본형태

CREATE PROCEDURE 프로시저명
AS
BEGIN
SET NOCOUNT ON 
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
	
	SELECT *
	FROM 테이블

SET NOCOUNT OFF
RETURN
END;

 

인자값 파라메터 받을때

CREATE PROCEDURE 프로시저명(
	변수명1 자료형,
	변수명2 자료형
)
AS
BEGIN
SET NOCOUNT ON 
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
	
	SELECT * 
	FROM 테이블명
	WHERE 컬럼 = 변수명1 AND 컬럼 = 변수명2

SET NOCOUNT OFF
RETURN
END;

인자값을 포함한 변수는 보통 어미로 @p_ 가 많이 붇는다

파라미터의 줄임말인듯.

 

@p_변수명 이런식으로 많이쓴다

 

 

변수선언

CREATE PROCEDURE 프로시저명(
	@p_test cahr(8)
)
AS
BEGIN
SET NOCOUNT ON 
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
	
    
    DECLARE @p_hello VARCHAR(40) ;
    
	SELECT * 
	FROM 테이블명
	WHERE 컬럼 = @p_test AND 컬럼 = @p_hello

SET NOCOUNT OFF
RETURN
END;

 

조건문 사용

CREATE PROCEDURE 프로시저명(
	@p_test cahr(8)
)
AS
BEGIN
SET NOCOUNT ON 
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
	
    
    DECLARE @p_hello INT ;
    
    IF (@p_hello = 0)
    BEGIN
    	SELECT * 
    	FROM 테이블명
	END
    
    ELSE 
    BEGIN
    	SELECT * 
        FROM 테이블명
	END

SET NOCOUNT OFF
RETURN
END;

 

728x90
반응형

view 데이터 json형태로 만들기

var obj = {}; //var Obj = new Object(); 와 동일

obj.name = $('#yourName').val();

단순 object 형태로 만든다.

자바를 사용해 본 적이 있다면 map 이라고 인식하면 된다.

key : name, value : $('#yourName').val()

 

이때 자바에서는 map 으로 이것을 변환하여 받아들일 수 있다.

 

object 여러개 생성

var obj = {}; //var Obj = new Object(); 와 동일
var Arr = []; //var Arr = new Array(); 와 동일

obj.name = $('#yourName').val();
obj.face = $('#face').val();

Arr.push(obj);

Arr = [{name : value},

         {face : value}];

이런 형태가 된다. ajax 로 보낼때 유용하다

728x90
반응형

프로시저의 기본형태

CREATE DEFINER=`DB아이디`@`%` PROCEDURE `프로시저명`
BEGIN

  SELECT * 
  FROM 테이블명

END

DB에 접속하는 ID명을 적어준다. 

 

 

 

인자값 파라메터 받을때

CREATE DEFINER=`DB아이디`@`%` PROCEDURE `프로시저명`(

    IN 변수명 자료형

)
BEGIN

    SELECT *
    FROM 테이블명
    WHERE 컬럼명 = 변수명

END

받을 변수명과 자료형 (INT, VARCHAR(40) 등)을 입력해준다.

받을때는 IN 을 사용

 

 

 

변수 할당하기

CREATE DEFINER=`DB아이디`@`%` PROCEDURE `프로시저명`(

    IN 변수명 자료형

)
BEGIN
    SET @v_code = '123';
    
    SELECT *
    FROM 테이블명
    WHERE 컬럼 = 변수명 AND
    	  컬럼 = @v_code

END

변수를 할당할때 바로 값을 적어도 되지만 서브쿼리를 사용하여

@v_code = (select 컬럼명 from 테이블 where 조건...)

등으로 할당 할 수 있다.

 

 

 

조건문 사용하기 IF, ELSEIF, OR, AND..

CREATE DEFINER=`DB아이디`@`%` PROCEDURE `프로시저명`(

    IN 변수명 자료형

)
BEGIN
    SET @v_code = '123';
    
    IF @v_code!='' THEN

      SELECT *
      FROM 테이블명
      WHERE 컬럼 = 변수명 AND
    	    컬럼 = @v_code
    
    END IF;

END

if 절은 

IF 조건문 OR 조건문 THEN

    실행문구

ELSE IF 조건문 THEN

    실행문구

END IF;

 

등의 형태로 쓸 수 있으며

NULL체크는 IS NOT NULL / IS NULL 을 쓸 수 있다.

같지 않음은 !=와 <> 둘다 가능

 

프로시저 생성이 안될땐 

프로시저의 상단에 DELIMITER ;; 혹은 DELIMITER $$ 를 붙여주면 된다. 

728x90

+ Recent posts