select * from INFORMATION_SCHEMA.columns
'database' 카테고리의 다른 글
mysql function 생성 오류 (0) | 2018.01.26 |
---|---|
오라클 database 버전확인 (0) | 2015.12.08 |
mysql 트리거 생성시 function 생성 오류 (0) | 2015.05.13 |
오라클 LISTAGG (0) | 2014.12.04 |
오라클 특수문자 제거 (0) | 2014.12.02 |
select * from INFORMATION_SCHEMA.columns
mysql function 생성 오류 (0) | 2018.01.26 |
---|---|
오라클 database 버전확인 (0) | 2015.12.08 |
mysql 트리거 생성시 function 생성 오류 (0) | 2015.05.13 |
오라클 LISTAGG (0) | 2014.12.04 |
오라클 특수문자 제거 (0) | 2014.12.02 |
fucntion 생성시 오류발생 -
ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
my.cnf 파일 mysqld 설정 확인
--log-bin-trust-function-creators=1
설정파일 수정하면 재시작 해야하니 명령어 실행
mysql>SET GLOBAL log_bin_trust_function_creators = 1;
//1=on을 의미하고 0은 off를 의미한다
mysql table, column 구조 확인 (0) | 2020.01.09 |
---|---|
오라클 database 버전확인 (0) | 2015.12.08 |
mysql 트리거 생성시 function 생성 오류 (0) | 2015.05.13 |
오라클 LISTAGG (0) | 2014.12.04 |
오라클 특수문자 제거 (0) | 2014.12.02 |
SELECT * FROM v$version;
mysql table, column 구조 확인 (0) | 2020.01.09 |
---|---|
mysql function 생성 오류 (0) | 2018.01.26 |
mysql 트리거 생성시 function 생성 오류 (0) | 2015.05.13 |
오라클 LISTAGG (0) | 2014.12.04 |
오라클 특수문자 제거 (0) | 2014.12.02 |
function 만들 때
ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL,
or READS SQL DATA in its declaration and binary logging is enabled
(you *might* want to use the less safe log_bin_trust_function_creators variable)
오류발생!!
해결방법
1. show global variables like 'log_bin_trust_function_creators';
명령어를 실행하여 "log_bin_trust_function_creators" 옵션이 "ON"인지 "OFF"인지를 확인한다.
"OFF" 이면 생성이 안됨!
2. SET GLOBAL log_bin_trust_function_creators = 1;
명령어를 실행하면 "ON" 으로 바뀐다. (1=ON : 0=OFF)
다시 트리거를 생성하면 오류가 발생하지 않고 적용이 된다.
3. mysql 서버 재시작시 적용방법 -
my.cnf 파일
[mysqld] 아래
log-bin-trust-function-creators=1
를 삽입한다.
mysql function 생성 오류 (0) | 2018.01.26 |
---|---|
오라클 database 버전확인 (0) | 2015.12.08 |
오라클 LISTAGG (0) | 2014.12.04 |
오라클 특수문자 제거 (0) | 2014.12.02 |
Oracle ~> MsSQL 변환작업 두번째 (0) | 2014.06.26 |
LISTAGG (ORACLE 11G)
- 여러행의 값을 하나로 나타냄.
SELECT LISTAGG(COLUMN, ',') WITHIN
GROUP(ORDER BY COLUMN) AS NAME
FROM TABLE
EX)
기존 : A
B
C
D
사용 : A,B,C,D
오라클 database 버전확인 (0) | 2015.12.08 |
---|---|
mysql 트리거 생성시 function 생성 오류 (0) | 2015.05.13 |
오라클 특수문자 제거 (0) | 2014.12.02 |
Oracle ~> MsSQL 변환작업 두번째 (0) | 2014.06.26 |
mySql, Oracle에서 msSql 함수 변환작업 (0) | 2014.06.19 |
특수문자 제거
SELECT * FROM
WHERE REGEXP_REPLACE('컬럼명', '[[:punct:]]', '')
JAVA에서 특수문자 제거
String str = "특수문자&^제거";
String match = "[^\uAC00-\uD7A3xfe0-9a-zA-Z\\s]"; //특수문자제거 정규식
if(str != null && str.equals("")){
str = str.replaceAll(match, "");
}
문자열+숫자 에서 숫자만 출력하기
TO_NUMBER(REGEXP_REPLACE('컬럼', '[^0-9]'))
mysql 트리거 생성시 function 생성 오류 (0) | 2015.05.13 |
---|---|
오라클 LISTAGG (0) | 2014.12.04 |
Oracle ~> MsSQL 변환작업 두번째 (0) | 2014.06.26 |
mySql, Oracle에서 msSql 함수 변환작업 (0) | 2014.06.19 |
table data 복사 하기 (0) | 2014.06.12 |
MsSQL에서의 페이징
row_number() 함수를 사용해서 구현했다.
SELECT
userid, userName, apprid, approvalName
FROM (
SELECT ROW_NUMBER() OVER(ORDER BY userid(PK) DESC ) rowsNum,
a.userid AS userid, a.userName AS userName, b.apprid AS apprid, b.app rovalname AS approvalName
FROM users a, approval b
WHERE a.userid = b.apprid
) AS paging
WHERE rowsNum BETWEEN 1 AND 10
ORDER BY userid DESC
msSql에서는 limit 속성을 사용할수 없기 때문에 이런형태의 페이징을 구현했다.
OVER() 함수에는 ORDER BY 각 꼭 들어가야 하며 기본키가 정렬값이어야 한단다.
GROUP_CONCAT을 STUFF()로 변환
SELECT
b.apprid, STUFF(
(SELECT ', ' + sb.appruid+'/'+su.nname
FROM appr_person sb, users su
WHERE sb.apprid = b.apprid and (sb.apprflag = 'd' AND sb.appruid = su.userid)
FOR XML PATH('')), 1, 2 ,'' )
FROM appr_person b
WHERE b.apprflag = 'd'
GROUP BY b.apprid
mysql 트리거 생성시 function 생성 오류 (0) | 2015.05.13 |
---|---|
오라클 LISTAGG (0) | 2014.12.04 |
오라클 특수문자 제거 (0) | 2014.12.02 |
mySql, Oracle에서 msSql 함수 변환작업 (0) | 2014.06.19 |
table data 복사 하기 (0) | 2014.06.12 |
1. DATE_FORMAT ~> CONVERT로 변환
select convert(char(10), getdate(), 120)
convert(datatype(size), 변경대상, 변경할type)
날짜 변환시 변경할 type 종류 :
120 : yyyy-MM-dd HH:mm:ss
112 : yyyyMMdd
108 : HH:mm:ss
110 : MM-dd-yyyy
113 : dd MM yyyy HH:mm:ss:sss
이정도만 알고 있으면 큰문제는 없을것 같다.
substring 써가면서 하면 된다.
getdate()함수는 oracle에서 now()이다.
2. DATE_ADD ~> DATEADD로 변환
select(day, +1, getdate())
3. LPAD ~> REPLICATE로 변환
select replicate('0', 2-LEN(day)) + cast( day AS VARCHAR)
4.DATEPART
select datepart(wk, getdate() )
날짜의 특징 부분을 나타낸다.
(DATEPART, DATEADD, DATEDIFF 공통)
Year : yy, yyyy
Quarter : qq, q
Month : mm, m
DayofYear : dy, y
Day : dd, d
Week : wk, ww
Weekday : dw, w
Hour : Hh
Minute : mi, n
Second : ss, s
Millisecond : Ms
5. CONCAT이 없다.
str() + ' 문자열 ' 를 이용하는 방법이 있고
대한 +'~'+ 민국 이렇게 +'문자열'+ "+"를 이용해도 된다
6. INSTR --> CHARINDEX
mysql : INSTR('문자열', '자')
mssql : CHARINDEX('자', '문자열') / 숫자에 음수가 들어가면 오류가 발생, 절대 양수변환 ABS()를 사용해서 해결
mysql 트리거 생성시 function 생성 오류 (0) | 2015.05.13 |
---|---|
오라클 LISTAGG (0) | 2014.12.04 |
오라클 특수문자 제거 (0) | 2014.12.02 |
Oracle ~> MsSQL 변환작업 두번째 (0) | 2014.06.26 |
table data 복사 하기 (0) | 2014.06.12 |
insert into 테이블 이름
select * from 가져올 테이블 이름 ;
* 물론 같은 database일때!
mysql 트리거 생성시 function 생성 오류 (0) | 2015.05.13 |
---|---|
오라클 LISTAGG (0) | 2014.12.04 |
오라클 특수문자 제거 (0) | 2014.12.02 |
Oracle ~> MsSQL 변환작업 두번째 (0) | 2014.06.26 |
mySql, Oracle에서 msSql 함수 변환작업 (0) | 2014.06.19 |