본문 바로가기

서버/DB15

postgresql에서 connect by 를 써보기. 오라클에서는 달력일자를 가져오는 쿼리를 구현할 때 connect by를 쓰면 쉽게 원하는 결과를 출력할 수 있습니다. select to_char(trunc(current_date, 'MM') + LEVEL -1, 'yyyy-MM-dd') from dual connect by level 2020. 4. 6.
오라클 날짜 관련 - 현재일자 구하기SELECT SYSDATE FROM DUAL;SELECT CURRENT_DATE FROM DUAL; - DATE형식을 STRING FORMAT으로 변형TO_CHAR( SYSDATE , '데이트형식') FROM DUAL; - 데이트형식CC : 세기YYYY : 년도Y,YYY : 년도에 콤마추가YEAR : 년도를 글자로 변형Q : 분기MM : 달RM : 달을 로마숫자로 표기MONTH : 달을 글자로 변형WW: 년도의 주W : 이달의 주DDD : 년도의 일자DD : 월의 일자D : 주의 일자DAY : 요일DY : 요일의 약자J : Julian Date , 4712BC의 1월1일부터.HH : 시간 (12)HH24 : 시간(24)MI : 분SS : 초SSSSS : 자정이후 경과된 초 - 달의 마지.. 2019. 2. 27.
오라클 random함수 사용하기 랜덤한 숫자 생성하기 SELECT DBMS_RANDOM.VALUE(0, 1000) FROM DUAL * 정수로 값이 떨어지게 하려면 ROUND함수를 이용하자. 랜덤한 문자 생성하기 SELECT DBMS_RANDOM.STRING('u', 10) FROM DUAL * 첫번째 인자. 'u', 'U' : 대문자'l', 'L' : 소문자'a', 'A' : 대소문자 구분없는 영문자'x', 'X' : 영문자와 숫자 혼합'p', 'P' : 문자 혼합두번째 인자는 자릿수 랜덤으로 정렬하기 ORDER BY DBMS_RANDOM.RANDOM() 랜덤한 날짜생성하기 TO_DATE( TRUNC ( DBMS_RANDOM.VALUE( TO_CHAR(SYSDATE - 10, 'YYYYMMDD'), TO_CHAR(SYSDATE, 'Y.. 2018. 11. 29.
mysql group by error Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column '컬럼명' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by 만약 해당 오류가 난다면 mysql strict mode와 관련이 있다. sql mode 보기 - show variables like 'sql_mode'; my.cnf에 sql_mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION" 이런식으로 적용하면 된다. 2018. 9. 21.
mysql utf8mb4설정 ( 이모티콘 설정 ) mysql에서 encoding set으로 utf8을 많이 쓰지만 특정 이모티콘등을 설정할 때에는 먹히질 않음. mysql 폴더로 이동하여 my.cnf를 찾아 수정 [client] default-character-set = utf8mb4 [mysql] default-character-set = utf8mb4 [mysqld] character-set-client-handshake = FALSE character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci mysql을 재시작한다. 상황에 따라서는 DB및테이블도 수정해야한다 ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_.. 2018. 8. 8.
mysql 원격접속 허용하기 원격접속 허용 명령어 mysql에 접속한다.grant all privileges on *.* to '계정명'@'%' identified by '비밀번호'; flush privileges; my.cnf 에서 다음을 수정한다.bind-address = 0.0.0.0 2017. 8. 30.