블로그는 나의 힘!
[ Programing ]/Database2023. 5. 4. 17:57

RowCount : 쿼리 실행문 실행 후 영향을 받은 로우의 수를 반환한다.

# MS-SQL
MS-SQL 에서 SELECT, INSERT 할때 실행 반환 체크로 @@Rowcount 있다.

> CREATE TABLE #TEMP (Object VARCHAR(10), Price INT);   -- 임시 테이블
> INSERT INTO #TEMP (Object, Price) VALUES ('Toy', 10000);
> INSERT INTO #TEMP (Object, Price) VALUES ('Toy', 30000);
> INSERT INTO #TEMP (Object, Price) VALUES ('book', 50000);

> UPDATE #TEMP1 SET Price = 20000 WHERE Object = 'Toy';
> SELECT @@ROWCOUNT 
-- 결과 : 2





# MySQL
INSERT, DELETE, UPDATE 쿼리를 통해 수행된 row 수를 알려준다.
MySQL 에서 SELECT 는 FOUND_ROWS(), INSERT / UPDATE / DELETE 는 ROW_COUNT() 있다.
영향을 받은 행이 없다면 -1 반환.

> SELECT rowIndex, rowValue FROM tableName;
> SELECT FOUND_ROWS();


> INSERT INTO tableName VALUES (1, 'value'); 
> SELECT ROW_COUNT();
-- 결과 : 1

> INSERT INTO tableName VALUES (10, 'value') (11, 'value') (12, 'value')
> SELECT ROW_COUNT();
-- 결과 : 3

> DELETE FROM
 tableName rowIndex IN(1, 10)

> SELECT ROW_COUNT();
-- 결과 : 2






참고 : 
MySQL :: MySQL 5.7 Reference Manual :: 12.15 Information Functions

https://dev.umejintan.com/7

 

[MySql] Select 된 Rowcount 를 얻는 방법(MSSql의 @@Rowcount)

Mysql에서는 어떻게 Select된 Rowcount를 얻을 수 있는가? MSSql를 주로 사용하다 보니 SQL에서 자주 사용 하던 @@Rowcount 를 대신 할 수 있는 기능이 필요했다. MySql에는 FOUND_ROWA() 라는 함수가 있다. 사용

dev.umejintan.com

 

https://ggmouse.tistory.com/155

 

[MSSQL] @@ROWCOUNT 영향 받은 행 수 반환

실행된 쿼리문의 영향을 받은 행의 수를 반환하는 @@ROWCOUNT에 대해 알아보자 @@ROWCOUNT 쿼리 실행문 실행 후 영향을 받은 로우의 수를 반환한다. 예제 CREATE TABLE #TEMP1 ( 제품 VARCHAR(10), 가격 INT ) INSERT

ggmouse.tistory.com

 
 
 

Posted by Mister_Q
[ Programing ]/Database2023. 5. 4. 17:39

-- 현재 날짜 1일 추가.
DATE_ADD(NOW(), INTERVAL 1 DAY)

-- 현재 날짜 1일 차감.
DATE_ADD(NOW(), INTERVAL -1 DAY) (or) DATE_SUB(NOW(), INTERVAL 1 DAY)




-- 현재 날짜 1일 차감.
SELECT DATE_ADD('2023-05-01 02:56:28', INTERVAL -1 DAY)
-- Return : 2023-04-30 02:56:28

-- 현재 날짜  1일 차감.
SELECT DATE_ADD('2023-04-30 02:56:28', INTERVAL 1 DAY)
-- Return : 2023-05-01 02:56:28

 

Posted by Mister_Q
[ Programing ]/Lua Scirpt2023. 5. 2. 07:18

function GetBitFlag(targetIndex)
     --!< Lua는 1부터 시작.
     if (0 >= targetIndex) then

          return -1
     end

     --!< 해당 위치 인덱스를 Bit 값으로 변환.
     --!< Bit 변환 전 -1 이유는 Bit Flag는 0 부터 시작. (EX : 1 << (1 - 1))

     local bitFlag = 1 << (targetIndex - 1)
     return bitFlag
end

function CheckBitFlag(targetFlag, valueIndex)
     if (nil == targetFlag) then
          return 0
     end

     local checkFlag = GetBitFlag(valueIndex)
     if (0 > checkFlag) then
          --!< 해당 위치의 인덱스가 잘못 된 값이라면 오류로 체크 진행 종료.

          return 0
     end

     --!< Bit 값 없음
     if ((targetFlag & checkFlag) == 0) then
          return 0
     end

     --!< BIt 값 있음
     return 1
end

function AddBitFlag(targetFlag, valueIndex)
     --!< And 연산자 합산이 안되어 Bit에 이미 존재 하는지 체크.
     local result = CheckBitFlag(targetFlag, valueIndex)

     if (0 ~= result) then
          return targetFlag
     end

     local valueBitFlag = GetBitFlag(valueIndex)
     if (0 > valueBitFlag) then
          --!< 해당 위치의 인덱스가 잘못 된 값이라면 오류로 합산 처리 종료.

          return targetFlag
     end

     --!< And 연산자 체크(&)는 되던데 합산은 모르겠음. 일단 +로 처리.
     local resultFlag = targetFlag + valueBitFlag
     return resultFlag
end

function mainTest()
     local testBitFlag = 7     --!< Binary(111) 
     local testBitIndex = 1     --!< 첫번째 Bit  

     local result = CheckBitFlag(testBitFlag, testBitIndex)
     if (0 == result) then
          local return = "EMPTY"
          testBitFlag = AddBitFlag(testBitFlag, testBitIndex)
     else
          local return = "EXIST"
     end
end

 

'[ Programing ] > Lua Scirpt' 카테고리의 다른 글

[Lua] 문자 합치기.  (0) 2024.07.10
[Lua] Bit Flag  (0) 2023.02.28
[Lua] current Time  (0) 2023.02.28
[Lua] for 반복문  (0) 2023.02.28
[Lua] 일일 체크 및 기준 시간  (0) 2023.02.28
Posted by Mister_Q