[회전] MySQL 중 함수 CONCAT 및 GROUPCONCAT 대응oracle의wmconcat
1. concat () 함수 1.1 MySQL의 concat 함수는 하나 이상의 문자열을 연결할 수 있다. 예를 들어
mysql> select concat('10');
+--------------+
| concat('10') |
+--------------+
| 10
+--------------+
mysql> select concat('11','22','33');
+------------------------+
| concat('11','22','33') |
+------------------------+
| 112233 |
+------------------------+
Oracle의 concat 함수는 두 문자열만 연결할 수 있습니다
SQL> select concat('11','22') from dual;
1.2 MySQL의 concat 함수는 문자열을 연결할 때 그 중 하나가 NULL이면 NUL로 되돌아온다
mysql> select concat('11','22',null);
+------------------------+
| concat('11','22',null) |
+------------------------+
| NULL |
+------------------------+
Oracle의 concat 함수를 연결할 때, 문자열이 NULL이 아니면 NULL을 되돌려주지 않습니다
SQL> select concat('11',NULL) from dual;
CONCAT
--
11
2、concat_ss () 함수, concat with separator, 연결 후 쉼표로 구분된 문자열 연결
mysql> select concat_ws(',','11','22','33');
+-------------------------------+
| concat_ws(',','11','22','33') |
+-------------------------------+
| 11,22,33 |
+-------------------------------+
concat과 다른 것은, concatss 함수는 실행할 때 NULL 값으로 인해 NULL mysql>select concat 로 되돌아오지 않습니다ws(',','11','22',NULL); +-------------------------------+ | concat_ws(',','11','22',NULL) | +-------------------------------+ | 11,22 | +-------------------------------+ 3、group_concat () 는 줄을 돌릴 수 있습니다. Oracle에는 이러한 함수가 없습니다. 완전한 문법은 다음과 같습니다 groupconcat([DISTINCT] 연결할 필드 [Order BY ASC/DESC 정렬 필드] [Separator '구분자']) 다음 예는 mysql> select * from aa;+------+----------+| id | name | +----+----| 1 | 10 | 1 | 20 | 2 | 20 | | | 3 | 3 | 500 | +------+6 rows in set(0.00sec) 3.1 id로 그룹화하여name 필드의 값을 한 줄로 인쇄하고 쉼표로 구분(기본값) mysql>select id, groupconcat(name) from aa group by id; +------+--------------------+ | id | group_concat(name) | +------------------------------+| 1 | 10,20,20 | 20 | 3 | 200500 | +------+--------------------+3 rows in set(0.00sec) 3.2를 id로 그룹화하여name 필드의 값을 한 줄로 인쇄하고 mysql>select id, groupconcat(name separator ';') from aa group by id; +------+----------------------------------+ | id | group_concat(name separator ';') | +------+----------------------------------+ | 1 | 10;20;20 | | 2 | 20 | | 3 | 200;500|+------+----------------------------------+3 rows in set(0.00sec) 3.3을 id로 그룹화하여 불필요한name 필드의 값을 한 줄에 인쇄하고 쉼표로 mysql>select id, groupconcat(distinct name) from aa group by id; +------+-----------------------------+ | id | group_concat(distinct name) | +----+---------------------+ | 1 | 10,20 | 20 | | 3 | 200500 | +-------------------------------+ 3 rows in set (0.00sec) 3.4를 id로 그룹화하여name 필드의 값을 한 줄에 인쇄하고 쉼표로 구분하여name로 거꾸로 mysql>select id,groupconcat(name order by name desc) from aa group by id; +------+---------------------------------------+ | id | group_concat(name order by name desc) | +------+---------------------------------------+ | 1 | 20,20,10 | | 2 | 20 | | 3 | 500,200 | +------+---------------------------------------+ 3 rows in set(0.00sec) 4,repeat() 함수로 문자열을 복제하는데 다음과 같이'ab'는 복제할 문자열을 나타내고 2는 복제할 부수를 나타내는 mysql>select repeat('ab', 2);+--------------+|repeat('ab', 2)|+----------+|abab|+------------------+1 row in set(0.00sec)은 mysql>select repeat('a', 2)와 같다. +---------------+ | repeat('a',2) | +---------------+ | aa | +---------------+
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.