DB 4

[mysql] 사용자 정의 변수 사용하기

쿼리 실행할 때마다, where 조건에 값을 일일이 넣어주는게 귀찮아서 변수같은게 있지 않을까 찾아보니 '사용자 정의 변수'가 있었다. 시스템 변수랑은 다른, 현재 커넥션에서만 사용할 수 있는 변수이다. 한 명령문에서 값을 저장하고 다른 명령문에서 참조할 수 있다. 이를 통해 한 명령문에서 다른 명령문으로 값을 전달할 수 있다. 사용자 정의 변수는 @var_name으로 작성하며, 변수 이름은 영문, 숫자, ., _, 등으로 구성될 수 있다. 그리고 대소문자를 구분하지 않는다. 또한 세션(session) 단위로 유지되기 때문에, 한 클라이언트에서 정의한 사용자 변수는 다른 클라이언트에서 사용할 수 없다. set @변수명 = 값; 또는 set @변수명 := 값; 또는 select @변수명 := 값; 형식으로..

DB 2023.12.04

[mysql] sysdate(), now(), current_timestamp() 차이

sysdate()는 함수 실행 시점의 시간을 반환하고 now()는 하나의 쿼리 단위로 동일한 값을 반환한다. current_timestame()와 동일. select SYSDATE(), NOW(), CURRENT_TIMESTAMP(), CURRENT_DATE(), current_time(), SLEEP(5) as a union all select SYSDATE(), NOW(), CURRENT_TIMESTAMP(), CURRENT_DATE(), current_time(), sleep(0) as a ; 이 쿼리를 실행해보면 sysdate()만 값이 다르게 나오는걸 확인해볼 수 있다.

DB 2023.11.29

[MariaDB] sysdate() VS now()

[출처]https://gitabout.com/21 [마리아 DB] SYSDATE() 와 NOW() 의 차이점 SYSDATE()와 NOW()는 다르다 마리아 DB 현재 시각을 리턴해주는 함수 SYSDATE()와 NOW() 사이에는 중대한 차이점이 있습니다. 그 차이점을 확인해보고 올바르게 사용하는 방법을 알아보려 합니다. SYSDATE() gitabout.com SYSDATE()와 NOW()는 다르다 마리아 DB 현재 시각을 리턴해주는 함수 SYSDATE()와 NOW() 사이에는 중대한 차이점이 있습니다. 그 차이점을 확인해보고 올바르게 사용하는 방법을 알아보려 합니다. SYSDATE() 와 NOW() 는 다르다. (Designed by Freepik) SYSDATE()는 예측 불가능(non-determi..

DB 2023.06.05

[MariaDB] Mybatis - INSERT시 Sequence Nextval 사용하기

sequence값을 조회한 후 insert하는 방법을 정리해 보았다. 1 - Sequence 값 VO에 세팅하는 방법 SELECT 한 시퀀스값을 vo에 세팅해준다. SELECT NEXTVAL(sq_sample_seq) FROM DUAL INSERT INTO TBL_SAMPLE ( SAMPLE_SEQ, SAMPLE_ID ) VALUES ( #{sampleSeq} , #{sampleId} ) // 시퀀스 조회 String sampleSeq = sampleService.selectSeq(); // vo 생성 SamplePVO pvo = new SamplePVO(); // vo 세팅 pvo.setSampleId("sampleId"); pvo.setSampleSeq(sampleSeq); // insert samp..

DB 2023.06.05