[MySQL] 패턴 매칭 LIKE, REGEXP
·
Programming/MySQL
패턴 매칭(pattern matching) MySQL은 데이터의 특정 패턴을 검색하기 위한 다음과 같은 패턴 매칭 연산자를 제공한다. LIKE REGEXP 또한, 임의의 문자나 문자열을 대체하기 위해서 와일드카드(wildcard) 문자를 사용할 수도 있다. LIKE LIKE 연산자는 특정 패턴을 포함하는 데이터만을 검색하기 위해 사용한다. 다음 예제는 Reservation 테이블에서 '장'으로 시작하는 이름(Name)으로 예약한 레코드를 선택하는 예제다. SELECT * FROM Reservation WHERE Name LIKE '장%'; '%'는 0개 이상의 문자라는 의미의 와일드카드(wildcard) 문자이다. 만약 특정 패턴을 포함하지 않는 데이터를 검색하고 싶을 때는 NOT LIKE 연산자를 사용..
[MySQL] 흐름 제어 CASE, IF(), IFNULL(), NULLIF()
·
Programming/MySQL
흐름 제어 MySQL은 프로그램이 순차적인 흐름을 제어해야 할 때 사용할 수 있는 다양한 연산자와 함수를 제공한다. CASE CASE 연산자는 값을 서로 비교하거나, 표현식의 논리값에 따라 다른 값을 반환한다. -- 문법 -- 1. CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result]... [ELSE result] END -- 2. CASE WHEN [condition] THEN result [WHEN [condition] THEN result]... [ELSE result] END 첫 번째 CASE 문법에서는 value와 compare_value 값이 같으면, THEN 절의 result 값을 반환한다. 만약 서로 값..
[MySQL] 비트 연산자 (bitwise operator)
·
Programming/MySQL
비트 연산자(bitwise operator) 비트 연산자는 논리 연산자와 비슷하지만, 비트(bit) 단위로 논리 연산을 수행한다. 또한, 비트 단위로 전체 비트를 왼쪽이나 오른쪽으로 이동시킬 때도 사용한다. 비트 연산자 설명 & 대응되는 비트가 모두 1이면 1을 반환함. (AND 연산) | 대응되는 비트 중에서 하나라도 1이면 1을 반환함. (OR 연산) ^ 대응되는 비트가 서로 다르면 1을 반환함. (XOR 연산) ~ 비트를 1이면 0으로, 0이면 1로 반전시킴. (NOT 연산) 부호를 유지하면서 지정한 수만큼 비트를 전부 오른쪽으로 이동시킴. (right shift 연산) SELECT b'1000' & b'1111', -- 첫 번째 비트만이 둘 다 1이므로, 연산 결과는 b'1000'이 됨. b'10..
[MySQL] 논리 연산자 (logical operator)
·
Programming/MySQL
논리 연산자(logical operator) 논리 연산자는 논리식을 판단하여, 참(true)이면 1을 반환하고 거짓(false)이면 0을 반환한다. 논리 연산자 설명 AND 논리식이 모두 참이면 참을 반환함. && 논리식이 모두 참이면 참을 반환함. OR 논리식 중에서 하나라도 참이면 참을 반환함. || 논리식 중에서 하나라도 참이면 참을 반환함. XOR 논리식이 서로 다르면 참을 반환함. NOT 논리식의 결과가 참이면 거짓을, 거짓이면 참을 반환함. ! 논리식의 결과가 참이면 거짓을, 거짓이면 참을 반환함.
[MySQL] 비교 연산자 (comparison operator)
·
Programming/MySQL
비교 연산자(comparison operator) 비교 연산자는 피연산자 사이의 상대적인 크기를 판단하여, 참(true)이면 1을 반환하고 거짓(false)이면 0을 반환한다. 비교 연산자 설명 = 왼쪽 피연산자와 오른쪽 피연산자가 같으면 참을 반환함. !=, 왼쪽 피연산자와 오른쪽 피연산자가 같지 않으면 참을 반환함. = 왼쪽 피연산자가 오른쪽 피연산자보다 크거나 같으면 참을 반환함. 양쪽의 피연산자가 모두 NULL이면 참을 반환하고, 하나의 피연산자만 NULL이면 거짓을 반환함. IS 왼쪽 피연산자와 오른쪽 피연산자가 같으면 참을 반환함. (오른쪽 피연산자가 불리언 값인 TRUE, FALSE, UNKNOWN 값일 때 사용함) IS NOT 왼쪽 피연산자와 오른쪽 피연산자가 같지 않으면 참을 반환함. (..
[MySQL] 대입 연산자 (assignment operator)
·
Programming/MySQL
대입 연산자(assignment operator) 대입 연산자는 변수에 값을 대입할 때 사용하는 이항 연산자이다. 대입 연산자 설명 = 왼쪽 피연산자에 오른쪽 피연산자를 대입함. (SET 문이나 UPDATE 문의 SET 절에서만 대입연산자로 사용됨.) := 왼쪽 피연산자에 오른쪽 피연산자를 대입함. MySQL에서 '=' 연산자는 두 가지 의미로 해석된다. 우선 SET 문이나 UPDATE 문의 SET 절에서 사용되면, 왼쪽 피연산자에 오른쪽 피연산자를 대입하는 대입 연산자로 해석된다. SET 문이나 UPDATE 문의 SET 절 이외에서 사용되면, 왼쪽 피연산자와 오른쪽 피연산자를 비교하는 비교 연산자로 해석된다. 이처럼 '=' 연산자는 상황에 따라 다르게 해석될 수 있으므로, 작성자의 의도와는 다르게 해석..