아래 문서는
system.functions 시스템 테이블을 기반으로 생성됩니다.format
pattern 문자열을 포맷합니다.
pattern 문자열에는 중괄호 {}로 둘러싸인 대체 필드가 포함될 수 있습니다.
중괄호로 둘러싸이지 않은 내용은 모두 리터럴 텍스트로 간주되며 출력에 그대로 복사됩니다.
리터럴 중괄호 문자는 {{ 및 }}처럼 중괄호를 두 번 써서 이스케이프할 수 있습니다.
필드 이름은 숫자(0부터 시작)일 수도 있고 비어 있을 수도 있으며, 비어 있으면 암묵적으로 순차적으로 증가하는 번호가 부여됩니다.
구문
String
예시
번호가 지정된 자리 표시자
Query
Response
Query
Response
overlay
input의 일부를 1부터 시작하는 인덱스 offset부터 다른 문자열 replace로 대체합니다.
구문
s— 입력 문자열입니다.Stringreplace— 대체 문자열입니다.const Stringoffset— 정수 타입Int(1부터 시작)입니다.offset이 음수이면 문자열s의 끝을 기준으로 계산합니다.Intlength— 선택 사항입니다. 정수 타입Int입니다.length는 입력 문자열s에서 대체할 부분의 길이를 지정합니다.length를 지정하지 않으면s에서 제거되는 바이트 수는replace의 길이와 같으며, 지정하면length바이트를 제거합니다.Int
String
예시
기본 대체
Query
Response
Query
Response
overlayUTF8
s의 일부를 1부터 시작하는 인덱스 offset부터 다른 문자열 replace로 대체합니다.
문자열이 유효한 UTF-8로 인코딩된 텍스트를 포함한다고 가정합니다.
이 가정이 깨져도 예외는 발생하지 않으며 결과는 정의되지 않습니다.
구문
s— 입력 문자열입니다.Stringreplace— 대체 문자열입니다.const Stringoffset— 정수 타입Int(1부터 시작)입니다.offset이 음수이면 입력 문자열s의 끝을 기준으로 계산합니다.(U)Int*length— 선택 사항입니다. 입력 문자열s에서 대체할 부분 문자열의 길이를 지정합니다.length를 지정하지 않으면s에서 제거되는 문자 수는replace의 길이와 같으며, 지정하면length개의 문자를 제거합니다.(U)Int*
String
예시
UTF-8 대체
Query
Response
printf
printf 함수는 C++의 printf 함수와 유사하게, 지정된 문자열을 인수로 전달된 값(문자열, 정수, 부동소수점 수 등)으로 포맷합니다.
포맷 문자열에는 % 문자로 시작하는 포맷 지정자를 포함할 수 있습니다.
%와 그 뒤의 포맷 지정자에 해당하지 않는 모든 내용은 리터럴 텍스트로 간주되어 출력에 그대로 복사됩니다.
리터럴 % 문자는 %%로 이스케이프할 수 있습니다.
포맷 문자열은 상수이거나 컬럼 표현식일 수 있으므로 행마다 서로 다른 포맷 패턴을 사용할 수 있습니다.
구문
String
예시
C++ 스타일 서식 지정
Query
Response
regexpQuoteMeta
\0, \\, |, (, ), ^, $, ., [, ], ?, *, +, {, :, -.
이 구현은 re2::RE2::QuoteMeta와 약간 다릅니다.
0바이트는 \x00 대신 \0으로 이스케이프하며, 필요한 문자만 이스케이프합니다.
구문
s— regex용으로 이스케이프할 문자가 포함된 입력 문자열입니다.String
String
예시
regex 특수 문자 이스케이프
Query
Response
replaceAll
haystack에 있는 pattern 부분 문자열을 모두 replacement 문자열로 대체합니다.
구문
replace
인수
haystack— 검색할 입력 문자열입니다.Stringpattern— 찾아서 바꿀 부분 문자열입니다.const Stringreplacement—pattern대신 사용할 문자열입니다.const String
pattern의 모든 일치 항목이 대체된 문자열을 반환합니다. String
예시
모든 일치 항목 대체
Query
Response
replaceOne
haystack에서 pattern 부분 문자열이 처음 나타나는 부분을 replacement 문자열로 대체합니다.
구문
haystack— 검색할 입력 문자열입니다.Stringpattern— 찾아서 대체할 부분 문자열입니다.const Stringreplacement—pattern을 대체할 문자열입니다.const String
pattern이 처음 일치한 부분이 대체된 문자열을 반환합니다. String
예시
첫 번째 일치 항목 대체
Query
Response
replaceRegexpAll
replaceRegexpOne와 비슷하지만 패턴과 일치하는 모든 항목을 대체합니다.
예외적으로, 정규식이 빈 부분 문자열과 일치하는 경우 대체는 한 번만 수행됩니다.
구문
REGEXP_REPLACE
인수
haystack— 검색할 입력 문자열입니다.Stringpattern— 찾을 정규식 패턴입니다.const Stringreplacement— 패턴을 대체할 문자열이며, 치환값을 포함할 수 있습니다.const String
String
예시
모든 문자를 두 번 반복한 값으로 대체
Query
Response
Query
Response
replaceRegexpOne
haystack에서 정규식 pattern(re2 구문)과 일치하는 부분 문자열이 처음 나타나는 부분을 replacement 문자열로 대체합니다.
replacement에는 치환 문자열 \0-\9를 포함할 수 있습니다.
치환 문자열 \1-\9는 1번째부터 9번째 캡처 그룹(하위 일치)에 대응하며, 치환 문자열 \0은 전체 일치에 대응합니다.
pattern 또는 replacement 문자열에서 \ 문자를 있는 그대로 사용하려면 \로 이스케이프하십시오.
또한 문자열 리터럴에는 추가 이스케이프가 필요하다는 점에도 유의하십시오.
구문
haystack— 검색할 입력 문자열입니다.Stringpattern— 찾을 정규식 패턴입니다.const Stringreplacement— 패턴과 일치하는 부분을 바꿀 문자열이며, 치환값을 포함할 수 있습니다.const String
String
예시
ISO 날짜를 미국식 포맷으로 변환
Query
Response
Query
Response
translate
from 및 to 문자열로 정의된 일대일 문자 매핑을 사용해 문자열 s의 문자를 대체합니다.
from 및 to는 상수 ASCII 문자열이어야 합니다.
from 및 to의 길이가 같으면 s에서 from의 첫 번째 문자가 나타날 때마다 to의 첫 번째 문자로 대체되고, from의 두 번째 문자는 to의 두 번째 문자로 대체되는 식으로 계속됩니다.
from에 to보다 더 많은 문자가 포함된 경우, to에 대응하는 문자가 없는 from 끝부분의 문자들은 s에서 모두 삭제됩니다.
s의 ASCII가 아닌 문자는 이 함수로 수정되지 않습니다.
구문
s— 변환할 입력 문자열입니다.Stringfrom— 대체할 문자가 포함된 상수 ASCII 문자열입니다.const Stringto— 대체 문자로 사용할 문자가 포함된 상수 ASCII 문자열입니다.const String
String
예시
문자 매핑
Query
Response
Query
Response
translateUTF8
translate와 유사하지만 s, from, to는 UTF-8로 인코딩된 문자열이라고 가정합니다.
구문
s— 변환할 UTF-8 입력 문자열입니다.Stringfrom— 대체할 문자가 들어 있는 상수 UTF-8 문자열입니다.const Stringto— 대체 문자로 사용할 문자가 들어 있는 상수 UTF-8 문자열입니다.const String
String 데이터 타입의 값을 반환합니다. String
예시
UTF-8 문자 변환
Query
Response