프로그램 개발서

[MySQL] 함수 BIT_COUNT, COALESCE 본문

Web

[MySQL] 함수 BIT_COUNT, COALESCE

rairen 2021. 7. 16. 10:29
  • 20210716 작성 시작

1. BIT_COUNT(N)

더보기

인수 N에 설정된 비트 수를 반환합니다.
-------- 
SELECT BIT_COUNT(29), BIT_COUNT(b'101010');

BIT_COUNT(29) BIT_COUNT(b'101010')
4 3

 

2. COALESCE(value,...)

더보기

목록에서 NULL이 아닌 첫 번째 값을 반환하거나 NULL이 아닌 값이 없으면 NULL을 반환합니다.

하나 이상의 매개변수를 전달해야 합니다.
 
MariaDB의 NULL 값도 참조하십시오.
-------- 
SELECT COALESCE(NULL,1);

 

COALESCE(NULL,1)
1

SELECT COALESCE(NULL,NULL,NULL);

COALESCE(NULL,NULL,NULL)
NULL 

-------- 
두 개의 인수가 주어지면 COALESCE()는 다음과 같습니다.

IFNULL():
-------- 
SET @a=NULL, @b=1;
 
SELECT COALESCE(@a, @b), IFNULL(@a, @b);

COALESCE(@a, @b) IFNULL(@a, @b)
1 1

-------- 
16진수 유형 혼동:
--------
CREATE TABLE t1 (a INT, b VARCHAR(10));
INSERT INTO t1 VALUES (0x31, 0x61),(COALESCE(0x31),
COALESCE(0x61));
 
SELECT * FROM t1;

a b
49 a
1 a


 
위의 결과가 다른 이유는 0x31이 열에 직접 삽입되면 숫자로 처리되고(16진수 리터럴 참조),

0x31이 COALESCE()에 전달되면 다음과 같은 이유로 문자열로 처리되기 때문입니다.

HEX 값에는 기본적으로 문자열 데이터 유형이 있습니다.

COALESCE()는 인수와 동일한 데이터 유형을 갖습니다.
 

 

반응형

'Web' 카테고리의 다른 글

[MySQL] Event_Scheduler 활성화  (0) 2021.11.22
Note v.1  (0) 2021.07.20
[DB][MySQL] 시/도, 시/군/구, 읍/면/동 .sql  (0) 2021.07.05
Favicon HTML link Tag  (0) 2020.06.08
메타 태그  (0) 2020.06.08