본문 바로가기

SOFTWARE58

[PostgreSql] 날짜 연산하기 쿼리에서 날짜를 계산해 와야 할 때가 있다. 최근 회사에서 사용하는 DB를 Oracle에서 PostgreSql로 옮겼기 때문에 그에 따른 쿼리 변경이 필요했다. 이번에 변경한 쿼리는 날짜 값에서 날짜를 빼는 쿼리인데, 오늘 날짜 기준으로, DB에 저장된 날짜를 빼야 했다. 그리고 연도만 필요했다!! 올해를 기준으로 이 데이터가 몇 년 됐는지 체크를 해야 했다. PostgreSql에서 연도만 조회를 하는 함수가 있는데, DATE_PART('가져오고 싶은 데이터', '날짜')이다. 여기서 가져오고 싶은 데이터는 'year' , 'month', 'day' 등이 있다. 아래는 내가 적용한 예시 SELECT (DATE_PART('year', NOW()) - DATE_PART('year',TO_DATE(write_.. 2023. 3. 19.
[javascript] 팝업창으로 POST 데이터 전송하기 보통 팝업창을 열때는 데이터를 GET 방식으로만 주고 받았었는데, GET은 URL에 너무 지저분하게 파라미터들이 붙고, 노출이 되는 부분이 있어서 좋아하지 않는다. 그래서 POST 방식으로 데이터를 넘겨주는 방법을 찾아보았다. FORM 태그를 이용해서 통으로 넘겨줄 수 있었다. //팝업창 오픈하여 데이터 전송 function openPopup( ) { window.open("", popOpen, ['fullscreen=no,menubar=no,status=no,toolbar=no,titlebar=no,location=no,scrollbar=auto,width=650,height=550'] ); form.target="popOpen"; form.action=" URL명"; form.submit( ); } .. 2023. 3. 15.
[React] props의 간단 개념 React는 컴포넌트 단위로 쪼개서 구현을 한다. 컴포넌트에서 컴포넌트고 값을 주고 받을때 props를 사용한다. props는 properties의 줄임말이다. 상위 컴포넌트에서 정의를 하고, 하위 컴포넌트에 전달을 한다고 가정하자. /* index.js */ function index(){ return ( ) } 상위 컴포넌트에서 하위컴포넌트의 태그 안에 값을 넣어준다. /*Hello.js*/ function Hello(props){ const name = {props.name}; console.log(name); } 하위 컴포넌트는 괄호() 안에 props으로 값을 받아온다. props이 아닌 name으로 받아와도 된다. (여기에서 name인 이유는 상위 컴포넌트에서 Hello 태그 안에 name을 .. 2023. 3. 12.
[Oracle] ORA-01427 : 단일 행 하위 질의에 2개 이상의 행이 리턴되었습니다. 해당 오류가 났던 쿼리는 아래와 같았다. SELECT NAME FROM USER WHERE ID = ( SELECT DISTINCT PARENT_ID FROM USER WHERE(PARENT_ID = 'test' OR ID = 'test') ) 계정 하나에 여러개의 부계정을 사용하고 있는 데이터를 저장하는 테이블이다. WHERE절에 있는 서브쿼리에서 보면, 부모계정을 중복을 제거하고 1개만 가지고 오는데, 그 조건절에 보면 부모 ID가 test거나 자신의 ID가 test인 데이터를 찾는다. 그리고 데이터에서 본인 자신이 부모계정인 데이터의 부모 컬럼은 NULL로 들어가있다. 때문에 NULL과 test 2건을 리턴해서 발생하는 오류였다. 아래와 같이 NULL 제외 구문을 추가해서 오류를 해결해줬다. SEL.. 2023. 3. 8.
[Eclipse] properties 파일 인코딩 설정 보통 java, html, css, xml 파일등은 자주 사용하니까 인코딩을 시작부터 셋팅하는데, 종종 properties 파일은 인코딩 셋팅을 까먹는 경우가 있다. 셋팅 방법 1. eclipse 메뉴 상단에 windows -> preferences -> General -> Content Types 카테고리로 이동 2. Text -> Java Properties File 선택 3. 하단의 Default encoding 에 UTF-8 적어주고 update 버튼 2023. 3. 5.
배치파일로 자바 실행 시키기 1. 배치파일을 만들려면 .txt 파일에서 작업을 한 후 확장자명을 .bat으로 변경해주면 된다. 추후에 .bat 파일을 수정하고 싶으면 메모장에서 열어서 수정하면 된다. 2. 문장앞에 rem 을 붙이면 주석 처리된다. (remark 라는 뜻) 3. javac 명령어는 java 파일을 class 파일로 컴파일 하는 명령어이다. ex) javac Test.java 4. javac 명령어를 사용하기 위해서는 jdk 의 bin이 환경변수의 path에 설정되어 있어야 한다. 5. java 명령어는 컴파일 된 class 파일을 실행시킨다. 6. 다른 jar 파일이나 라이브러리를 함께 실행 시키려면 한꺼번에 jar로 말아서 사용할 수도 있지만 세미콜론(;)으로 classpath 경로에 함께 입력해서 추가할 수도 있.. 2023. 3. 2.