'DB'에 해당되는 글 44건

페이지 쿼리

DB/MSSQL 2019. 3. 22. 11:41

페이지 쿼리


SELECT

ct_idx, 

ct_class, dbo.GET_CODENAME('CTC',ct_class) as ct_classToKr , 

ct_setFlag, dbo.GET_CODENAME('CTS',ct_setFlag) as ct_setFlagToKr, 

ct_bidFlag, dbo.GET_CODENAME('CTB',ct_bidFlag) as ct_bidFlagToKr, 

ct_title, ct_dept_no, ct_dept_name, isused, 

hit, convert(varchar(10),join_date,121) as join_date

FROM TBE_CONTRACT where ct_idx in  (

SELECT 

TOP $ent.rowSize 

ct_idx

FROM (

SELECT 

TOP $ent.currentSize

ct_idx, $ent.orderBy

FROM 

TBE_CONTRACT

WHERE 

1=1

AND pid = $ent.pid

#if($ent.used != "")

AND isused = $ent.used

#end

#if($ent.isdel != "")

AND isdel = $ent.isdel

#end

#if($ent.funcII != "")

AND ct_dept_no in(select ucode from dbo.GET_SUBDEPTCODE(#$ent.funcII::#))

#end

#if($ent.rsType != "" && $ent.rsKey!="")

AND $ent.rsType LIKE '%$ent.rsKey%'

#end

#if($ent.startDate != "" && $ent.endDate != "")

and left(join_date,10) between #$ent.startDate::# and #$ent.endDate::#

#end

and left(join_date,10)>=convert(varchar(4),dateadd(year, -2, getdate()),121)+'-01-01'

ORDER BY 

$ent.orderBy $ent.cendingBy , 

ct_idx $ent.cendingBy

) scan

ORDER BY 

scan.$ent.orderBy $ent.cendingIn , 

scan.ct_idx $ent.cendingIn 

)

            ORDER BY 

                $ent.orderBy $ent.cendingBy , 

ct_idx $ent.cendingBy


'DB > MSSQL' 카테고리의 다른 글

dblink3  (0) 2019.04.02
dblink  (0) 2019.04.02
dblink2  (0) 2019.03.22
페이지 쿼리2  (0) 2019.03.22
DBLINK  (0) 2019.03.21
블로그 이미지

마크제이콥스

초보 개발자의 이슈및 공부 내용 정리 블로그 입니다.

,

DBLINK

DB/MSSQL 2019. 3. 21. 17:11

DBLINK




1. sa 계정으로 sql 스튜디오에 접속한다.


2. 원격 DB링크 연결

-> exec sp_addlinkedserver @server='생성할디비링크명', @srvproduct='', @provider='SQLOLEDB', @datasrc='접속할디비아이피'


3. 원격 DB에 로그인 허용

-> exec sp_addlinkedsrvlogin @rmtsrvname='DB 링크명', @useself='False', @locallogin=Null, @rmtuser='계정명', @rmtpassword='비밀번호';


4. 원격 DB의 프로시져 호출

-> exec 링크명.데이터베이스명.계정명.프로시저명;


5. 만약 RPC에 대해 구성되지 않았습니다 라는 오류가 뜬다면 아래 설정을 바꿔준다.


연결된서버로부터 로컬서버로의 RPC 호출을 활성화

EXEC sp_serveroption 'DB 링크명', 'rpc', TRUE;


6. 로컬서버로부터 연결된서버로의 RPC 호출을 활성화

EXEC sp_serveroption 'DB 링크명', 'rpc out', TRUE;

'DB > MSSQL' 카테고리의 다른 글

dblink3  (0) 2019.04.02
dblink  (0) 2019.04.02
dblink2  (0) 2019.03.22
페이지 쿼리2  (0) 2019.03.22
페이지 쿼리  (0) 2019.03.22
블로그 이미지

마크제이콥스

초보 개발자의 이슈및 공부 내용 정리 블로그 입니다.

,

MYSQL 문자열함수2

DB/MYSQL 2019. 3. 5. 17:59

MYSQL 문자열함수2



1. ASCII() - 아스키 코드값 리턴


2.CONV() - 수의 진수를 바꾸는 함수


3. CONCAT(str1, str2) - 문자열을 접합하는 함수 


4. LOCATE(substr, str) : substr이 str에서 시작하는 문자의 위치를 리턴하는 함수


1) POSITION(substr IN str) : 같은 역할을 하는 함수 


2) INSTR(str, substr) : 같은 역할을 하는 함수, 단 인자의 순서가 다름 


5. LENGTH(str) : str 문자열의 길이를 반환하는 함수 


6. LPAD(str, len, padstr) : str에서 왼쪽 방향으로 str의 길이가 len이될 때까지 padstr을 계속 덧 붙이는 함수 


1) RPAD(str, len, padstr) : 비슷한 역할을 수행하지만 오른쪽으로 padstr을 덧 붙인다. 


7. LEFT(str, len) : str 에서 왼쪽으로부터 len만큼 문자만 반환하는 함수 


1) RIGHT(str, len) : 비슷한 역할을 수행하지만 str의 오른쪽으로부터 len만큼 문자열을 반환하는 함수  


8. SUBSTRING(str, pos, len) : str에서 pos 위치의 문자로부터 len만큼의 문자열을 반환하는 함수 


9. LTRIM / RTRIM / TRIM([[BOTH | LEADING | TRAILING] [remstr] FROM] str) : 공백을 제거하는 함수 


10. REPLACE(str, from_str, to_str) : str 문자열에서 from_str 문자열을 to_str 로 바꾼 문자열을 반환하는 함수 


11. REVERSE(str) : str의 순서를 바꾸어 반환하는 함수 


12. INSERT(str, pos, len, newstr) : str문자열에서 pos로부터 len 사이의 문자열을 newstr로 대체한 문자열을 반환하는 함수


13. LCASE(str) / UCASE(str)


1) LCASE(str) : str을 소문자로 변환한 문자열을 반환한다. 


2) UCASE(str) : str을 대문자로 변환한 문자열을 반환한다. 



'DB > MYSQL' 카테고리의 다른 글

[MYSQL] 백업/복구 utf-8  (0) 2022.04.20
[MYSQL] 일일백업하기  (0) 2022.04.20
MYSQL 문자열함수  (0) 2019.03.05
MYSQL 문자 자르기 함수  (0) 2019.03.05
날짜 함수  (0) 2019.03.04
블로그 이미지

마크제이콥스

초보 개발자의 이슈및 공부 내용 정리 블로그 입니다.

,

MYSQL 문자열함수

DB/MYSQL 2019. 3. 5. 13:11

MYSQL 문자열함수




문자열함수는 2개로 나눠서 작성 하겠습니다. 

해당 작성글은 인터넷에서 찾아보고 제가 찾기쉽게 보기위해서 정리한 내용입니다.


CHAR_LENGTH(string)

문자열의 길이를 알아봅니다. 2Byte문자는 1개로 취급합니다. 

mysql> SELECT CHAR_LENGTH("안녕하세요");

+-----------------------------------+

| CHAR_LENGTH("안녕하세요")  |

+-----------------------------------+

|                                        5 |

+-----------------------------------+



LENGTH(string)

문자열의 Byte수를 알아봅니다. 

mysql> SELECT LENGTH("안녕하세요");

+---------------------------+

| LENGTH("안녕하세요")  |

+---------------------------+

|                             10 |

+---------------------------+



CONCAT(string1, string2,...)

문자열을 합칩니다. 

mysql> SELECT CONCAT("안녕", "하세요");

+-------------------------------+

| CONCAT("안녕", "하세요")  |

+-------------------------------+

| 안녕하세요                       |

+-------------------------------+



CONCAT_WS ("구분자", string1, string2,...)

문자열을 특정 구분자를 포함시켜 합쳐줍니다.

mysql> SELECT CONCAT_WS(',', "안녕", NULL, "하세요");

+-----------------------------------------------+

| CONCAT_WS(',', "안녕", NULL, "하세요")  |

+-----------------------------------------------+

| 안녕,하세요                                         |

+-----------------------------------------------+




FORMAT(number, round)

숫자의 천단위 구분자를 넣어줍니다. round 는 소수점 뒷자리 절사 길이 입니다.

mysql> SELECT FORMAT(123456, 0);

+------------------------+

| FORMAT(123456, 0) |

+------------------------+

| 123,456                  |

+------------------------+



REPLACE(string, from_string, to_string)

문자열을 치환합니다.

mysql> SELECT REPLACE("우리나라 나쁜나라", "나쁜", "좋은");

+-------------------------------------------------------+

| REPLACE("우리나라 나쁜나라", "나쁜", "좋은")    |

+-------------------------------------------------------+

| 우리나라 좋은나라                                         |

+-------------------------------------------------------+


'DB > MYSQL' 카테고리의 다른 글

[MYSQL] 일일백업하기  (0) 2022.04.20
MYSQL 문자열함수2  (0) 2019.03.05
MYSQL 문자 자르기 함수  (0) 2019.03.05
날짜 함수  (0) 2019.03.04
to_date  (0) 2019.03.04
블로그 이미지

마크제이콥스

초보 개발자의 이슈및 공부 내용 정리 블로그 입니다.

,

MYSQL 문자 자르기 함수



CREATE FUNCTION SPLIT_STRING(

  x text,

  delim varchar(32),

  pos int

)

RETURNS text

RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, pos),

       LENGTH(SUBSTRING_INDEX(x, delim, pos -1)) + 1),

       delim, '');

'DB > MYSQL' 카테고리의 다른 글

MYSQL 문자열함수2  (0) 2019.03.05
MYSQL 문자열함수  (0) 2019.03.05
날짜 함수  (0) 2019.03.04
to_date  (0) 2019.03.04
root 비밀번호 변경  (0) 2019.03.04
블로그 이미지

마크제이콥스

초보 개발자의 이슈및 공부 내용 정리 블로그 입니다.

,

날짜 함수

DB/MYSQL 2019. 3. 4. 17:29

날짜 함수




1. 시간 관련 함수


SELECT START_TIME,

       YEAR(START_TIME) AS 'YEAR',          

       DATE_FORMAT(START_TIME, '%Y : %y') AS '%Y : %y',    

           

       MONTH(START_TIME) AS 'MONTH',                                          

       DATE_FORMAT(START_TIME, '%M : %b : %m : %c') AS '%M : %b : %m : %c',     



       DAY(START_TIME) AS 'DAY',                                              

       DATE_FORMAT(START_TIME, '%D : %d : %j') AS '%D : %d : %j',      

         

       DAYOFWEEK(START_TIME) AS 'DAYOFWEEK',                                  

       DATE_FORMAT(START_TIME, '%a : %w : %W') AS '%a : %w : %W',        

      

       DATE_FORMAT(START_TIME, '%r : %T') AS '%r : %T',     

                  

       HOUR(START_TIME) AS 'HOUR',            

                                

       DATE_FORMAT(START_TIME, '%H : %I : %k : %p') AS '%H:%I:%k:%p',  

         

       MINUTE(START_TIME) AS 'MINUTE',  

                                      

       SECOND(START_TIME) AS 'SECOND',                                        

       DATE_FORMAT(START_TIME, '%S') AS '%S'                                    

  FROM tb_event;



-- 연도 YEAR[2010] ,  %Y:[2010] , %y:[10]          

-- 달 %M:[January-December], %b:[Jan-Dec], %m:[01-12], %c:[1-12]

-- 날짜

--  %D:[1st-31th], %d:[01-31]     해당월의 일자

--  %j:[001-365]                        해당연도의 일자

-- 요일 (일~토)  DAYOFWEEK:[1-7] , %w:[0-6] , %W:[Sunday-Saturday] , %a:[Sun-Sat]

-- 시간 %r:[00:00:00 AM-11:59:59 PM] ,  %T:[00:00:00-23:59:59]

-- 시 %H:[01-24], %I:[01-12], %k:[1-24], %p:[AM-PM]

-- 분 MINUTE[0-59]

-- 초 SECOND:[0-59] , %S:[00-59]


2. 달수 비교


SELECT PERIOD_DIFF("1997-12-31", "1998-01-01");

SELECT PERIOD_DIFF("1998-01-01", "1997-12-31");


3. 날짜 계산


SELECT DATE_ADD("1997-12-31 23:59:59", INTERVAL 10 YEAR);     

SELECT DATE_ADD("1997-12-31 23:59:59", INTERVAL 10 MONTH);   

SELECT DATE_ADD("1997-12-31 23:59:59", INTERVAL 10 DAY);        

SELECT DATE_ADD("1997-12-31 23:59:59", INTERVAL 10 HOUR);      

SELECT DATE_ADD("1997-12-31 23:59:59", INTERVAL 10 MINUTE);   

SELECT DATE_ADD("1997-12-31 23:59:59", INTERVAL 10 SECOND);  


SELECT DATE_SUB("1997-12-31 23:59:59", INTERVAL 20 YEAR);      

SELECT DATE_SUB("1997-12-31 23:59:59", INTERVAL 20 MONTH);    -- ☆ 28일 같이 빼도 표시가 안되면 그달의 말일표시

SELECT DATE_SUB("1997-12-31 23:59:59", INTERVAL 20 DAY);

SELECT DATE_SUB("1997-12-31 23:59:59", INTERVAL 20 HOUR);

SELECT DATE_SUB("1997-12-31 23:59:59", INTERVAL 20 MINUTE);

SELECT DATE_SUB("1997-12-31 23:59:59", INTERVAL 20 SECOND);


4. 현재 날짜


SELECT NOW(), SYSDATE(), CURDATE(), CURTIME();

'DB > MYSQL' 카테고리의 다른 글

MYSQL 문자열함수  (0) 2019.03.05
MYSQL 문자 자르기 함수  (0) 2019.03.05
to_date  (0) 2019.03.04
root 비밀번호 변경  (0) 2019.03.04
PORT 변경  (0) 2019.03.04
블로그 이미지

마크제이콥스

초보 개발자의 이슈및 공부 내용 정리 블로그 입니다.

,

to_date

DB/MYSQL 2019. 3. 4. 17:24

날짜 차이 구하기



형식) MySQL프롬프트> SELECT TO_DAYS(DATE) - TO_DAYS(DATE);


예) 2018년 3월15일과 2018년1월25일의 차이 구하기


mysql> SELECT TO_DAYS('2018-03-15') - TO_DAYS('2018-01-15' ) AS CHA; 


예) 2019년의 설날연휴인 2019년 2월03일은 오늘부터 몇 일 남았나 구하기


mysql> SELECT TO_DAYS('2019-02-03') - TO_DAYS(now()) AS CHA; 



※ TO_DAYS 함수는 기본 인자로 DATE 형을 취하기 때문에 아래와 같이 CAST함수를 이용해서 DATE형으로 형변환 해서 쓰실 수도 있습니다.


mysql> SELECT TO_DAYS(CAST('2019-03-01' AS DATE)) - TO_DAYS(CAST('2019-01-25' AS DATE)) AS CHA;

'DB > MYSQL' 카테고리의 다른 글

MYSQL 문자 자르기 함수  (0) 2019.03.05
날짜 함수  (0) 2019.03.04
root 비밀번호 변경  (0) 2019.03.04
PORT 변경  (0) 2019.03.04
MYSQL 일자별 백업  (0) 2019.03.04
블로그 이미지

마크제이콥스

초보 개발자의 이슈및 공부 내용 정리 블로그 입니다.

,

root 비밀번호 변경



1) daemon 종료 


 (윈도우라면 서비스 or 작업관리자에서 제거)





2) mysqld --skip-grant  입력 


 (권한 스킵후 sql서비스 실행)







3) mysql -u root


 (루트로 접속)





4) use mysql 


(데이터베이스 선택)





5) update user set password=password('비밀번호') where user='root'; 


(루트 비밀번호 변경)





6) flush privileges; 


(권한설정 갱신)

'DB > MYSQL' 카테고리의 다른 글

날짜 함수  (0) 2019.03.04
to_date  (0) 2019.03.04
PORT 변경  (0) 2019.03.04
MYSQL 일자별 백업  (0) 2019.03.04
MYSQL 암복호화  (0) 2019.03.04
블로그 이미지

마크제이콥스

초보 개발자의 이슈및 공부 내용 정리 블로그 입니다.

,

PORT 변경

DB/MYSQL 2019. 3. 4. 10:18

PORT 변경



1) MySQL 서버 포트를 변경하기 위해 /etc/my.cnf 또는 /my.ini 파일을 열어


[mysqld] 섹션에 다음을 추가한다.


port=1004


2) MySQL 서버를 재구동한다.


 


'DB > MYSQL' 카테고리의 다른 글

to_date  (0) 2019.03.04
root 비밀번호 변경  (0) 2019.03.04
MYSQL 일자별 백업  (0) 2019.03.04
MYSQL 암복호화  (0) 2019.03.04
mysql -u root -p  (0) 2019.03.04
블로그 이미지

마크제이콥스

초보 개발자의 이슈및 공부 내용 정리 블로그 입니다.

,

MYSQL 일자별 백업

DB/MYSQL 2019. 3. 4. 10:16

MYSQL 일자별 백업


mysql_backup.sh


nowdate=$(date +%Y%m%d)

mysqldump -h 호스트 -u 아이디 -p 패스워드 DB명 > /저장경로/nec_db_$nowdate.sql

'DB > MYSQL' 카테고리의 다른 글

root 비밀번호 변경  (0) 2019.03.04
PORT 변경  (0) 2019.03.04
MYSQL 암복호화  (0) 2019.03.04
mysql -u root -p  (0) 2019.03.04
function 예제  (0) 2019.03.04
블로그 이미지

마크제이콥스

초보 개발자의 이슈및 공부 내용 정리 블로그 입니다.

,