SnowConvert AI - BigQuery - 기본 제공 함수¶
BigQuery용 SnowConvert AI에서 지원하는 모든 기본 제공 함수에 대한 변환 참조.
참고
기본 제공 함수 및 그와 동등한 Snowflake 함수에 대한 자세한 내용에 대해서는 [일반적인 기본 제공 함수](../../translation-references/general/ built-in-functions)도 참조하세요.
집계 함수¶
BigQuery |
Snowflake |
|---|---|
<p><a href=”https://docs.snowflake.com/en/sql-reference/functions/any_value”>ANY_VALUE</a><br><br><em>참고: BigQuery와 달리 Snowflake는 NULLs를 무시하지 않습니다. 또한 Snowflake의 <code>OVER()</code> 절은 <code>ORDER BY</code> 또는 명시적 윈도우 프레임의 사용을 지원하지 않습니다.</em></p> |
|
ANY_VALUE( expr1, HAVING MAX expr2) |
|
배열 함수¶
BigQuery |
Snowflake |
|---|---|
ARRAY_TO_STRING(expr, delimiter) |
ARRAY_TO_STRING(ARRAY_COMPACT(expr), delimiter) |
ARRAY_TO_STRING(expr, delimiter, null_text) |
<p>ARRAY_TO_STRING_UDF(expr, delimiter, null_text)<br><br><em>참고: SnowConvert AI는 Snowflake의 ARRAY_TO_STRING 함수에서 기본적으로 지원되지 않는 NULL 대체 매개 변수를 처리하기 위한 UDF를 생성합니다.</em></p> |
SELECT ARRAY(SELECT query) |
<p>SELECT (SELECT ARRAY_AGG(*) FROM (SELECT query))<br><br><em>참고: BigQuery의 ARRAY 하위 쿼리 구문은 Snowflake의 하위 쿼리에서 ARRAY_AGG를 사용하도록 변환됩니다.</em></p> |
조건식¶
| BigQuery | Snowflake |
|---|---|
| COALESCE | COALESCE |
| IF | IFF |
| IFNULL | IFNULL |
| NULLIF | NULLIF |
변환 함수¶
BigQuery |
Snowflake |
|---|---|
날짜 함수¶
BigQuery |
Snowflake |
|---|---|
<p><a href=”https://docs.snowflake.com/en/sql-reference/functions/to_char”>TO_CHAR</a><br><br><em>참고: 이 변환에 대한 자세한 내용은 이 </em><a href=”format_date.md”><em>페이지</em></a><em>를 참조하세요.</em></p> |
날짜/시간 함수¶
BigQuery |
Snowflake |
|---|---|
CURRENT_TIMESTAMP :: TIMESTAMP_NTZ |
지리 함수¶
BigQuery |
Snowflake |
|---|---|
<p><a href=”https://docs.snowflake.com/en/sql-reference/functions/st_geographyfromwkt”>ST_GEOGFROMTEXT</a><br><br><em>참고: 이 변환에 대한 자세한 내용은 이 </em><a href=”st_geogfromtext.md”><em>페이지</em></a><em>를 참조하세요.</em></p> |
|
<p><a href=”https://docs.snowflake.com/en/sql-reference/functions/st_makepoint”>ST_POINT</a><br><br><em>참고: 이 변환에 대한 자세한 내용은 이 </em><a href=”st_geogpoint.md”><em>페이지</em></a><em>를 참조하세요.</em></p> |
JSON 함수¶
BigQuery |
Snowflake |
|---|---|
<p><a href=”https://docs.snowflake.com/en/sql-reference/functions/json_extract_path_text”>JSON_EXTRACT_PATH_TEXT</a><br></p><p><em>참고: SnowConvert AI에서는 자동으로 BigQuery JSON 경로를 그와 동등한 Snowflake 경로로 변환합니다.</em></p> |
|
<p>JSON_VALUE_ARRAY_UDF<br><br><em>참고: SnowConvert AI는 JSON에서 배열을 추출하는 것과 동등한 동작을 얻기 위해 UDF를 생성합니다.</em></p> |
|
<p>PUBLIC.LAX_INT64_UDF<br><br><em>참고: SnowConvert AI는 동등한 동작을 얻기 위해 UDF를 생성합니다.</em></p> |
|
<p>PUBLIC.LAX_BOOL_UDF<br><br><em>참고: SnowConvert AI는 동등한 동작을 얻기 위해 UDF를 생성합니다.</em></p> |
수학 함수¶
BigQuery |
Snowflake |
|---|---|
ROUND(X) |
ROUND(X) |
번호 매기기 함수¶
BigQuery |
Snowflake |
|---|---|
문자열 함수¶
BigQuery |
Snowflake |
|---|---|
BYTE_LENGTH(expr) |
<p>LENGTH(TO_BINARY(HEX_ENCODE(expr)))<br><br><em>참고: BigQuery의 BYTE_LENGTH는 인코딩된 문자열의 바이트 수를 반환합니다. 동등한 Snowflake 함수는 바이트 길이를 얻기 위해 16진수 인코딩 후에 이진으로 변환합니다.</em></p> |
<p><a href=”https://docs.snowflake.com/en/sql-reference/functions/try_base64_decode_binary”>TRY_BASE64_DECODE_BINARY</a><br><br><em>참고: BigQuery에서는 이진 데이터 출력을 위해 기본적으로 BASE64를 사용하지만 Snowflake는 HEX를 사용합니다. Snowflake에서는</em> <a href=”https://docs.snowflake.com/en/sql-reference/functions/base64_encode”><em><code>BASE64_ENCODE</code></em></a> <em>함수를 사용하거나 </em><a href=”https://docs.snowflake.com/en/sql-reference/parameters#binary-output-format”><em><code>BINARY_OUTPUT_FORMAT</code></em></a><em>을 <code>’BASE64’</code>로 설정하여 BASE64로 이진 데이터를 봅니다.</em></p> |
|
<p><a href=”https://docs.snowflake.com/en/sql-reference/functions/try_hex_decode_binary”>TRY_HEX_DECODE_BINARY</a><br><br><em>참고: BigQuery에서 이진 데이터 출력을 위해 기본적으로 BASE64를 사용하지만 Snowflake는 HEX를 사용합니다. Snowflake에서는</em> <a href=”https://docs.snowflake.com/en/sql-reference/functions/base64_encode”><em><code>BASE64_ENCODE</code></em></a> <em>함수를 사용하거나 </em><a href=”https://docs.snowflake.com/en/sql-reference/parameters#binary-output-format”><em><code>BINARY_OUTPUT_FORMAT</code></em></a><em>을 <code>’BASE64’</code>로 설정하여 BASE64로 이진 데이터를 봅니다.</em></p> |
|
REGEXP_CONTAINS(value, regexp) |
REGEXP_INSTR(value, regexp) > 0 |
SUBSTR(string, position) |
SUBSTR(string, IFF(position < -LENGTH(string), 1, position)) |
타임스탬프 함수¶
BigQuery |
Snowflake |
|---|---|
<p>IFF(expr BETWEEN -62135596800000 AND 253402300799999, TO_TIMESTAMP(expr / 1000), null)<br><br><em>참고: 오버플로 오류를 방지하기 위한 범위 유효성 검사가 포함된 안전한 버전입니다.</em></p> |
|
<p>SAFE_TIMESTAMP_SECONDS_UDF(expr)<br><br><em>참고: SnowConvert AI는 오류 처리와 함께 안전한 타임스탬프 변환을 제공하기 위한 UDF를 생성합니다.</em></p> |
|
<p>TO_TIMESTAMP(expr / 1000)<br><br><em>참고: Epoch 이후의 밀리초를 1000으로 나누어 타임스탬프로 변환합니다.</em></p> |
|
TIMESTAMP_SECONDS(expr) |
<p>DATEADD(‘seconds’, expr, ‘1970-01-01’)<br><br><em>참고: Unix Epoch 시작 날짜에 초를 추가합니다.</em></p> |
UNIX_MICROS(timestamp) |
<p>DATE_PART(‘epoch_microsecond’, CONVERT_TIMEZONE(‘UTC’, timestamp))<br><br><em>참고: UTC로 변환된 타임스탬프에서 Unix Epoch 이후의 마이크로초를 추출합니다.</em></p> |
UNIX_MILLIS(timestamp) |
<p>DATE_PART(‘epoch_millisecond’, CONVERT_TIMEZONE(‘UTC’, timestamp))<br><br><em>참고: UTC로 변환된 타임스탬프에서 Unix Epoch 이후의 밀리초를 추출합니다.</em></p> |
UNIX_SECONDS(timestamp) |
<p>DATE_PART(‘epoch_seconds’, CONVERT_TIMEZONE(‘UTC’, timestamp))<br><br><em>참고: UTC로 변환된 타임스탬프에서 Unix Epoch 이후의 초를 추출합니다.</em></p> |
FORMAT_DATE¶
Format_date 함수
설명¶
지정된 형식 문자열에 따라 DATE 값의 형식을 지정합니다.
자세한 내용은 FORMAT_DATE 함수를 참조하세요.
문법 구문¶
FORMAT_DATE(format_string, date_expr)
샘플 소스¶
BigQuery¶
CREATE TABLE TEST_DATE (col1 DATE);
SELECT FORMAT_DATE('%Y', col1);
Snowflake¶
CREATE TABLE TEST_DATE (col1 DATE);
SELECT
TO_CHAR(col1, 'YYYY')
FROM
TEST_DATE;
BigQuery 형식 동등 함수¶
| BigQuery | Snowflake |
|---|---|
| %A | PUBLIC.DAYNAME_LONG_UDF(date_expr) Note: Generate UDF in conversion for support. |
| %a | DY |
| %B | MMMM |
| %b | MON |
| %C | PUBLIC.CENTURY_UDF(date_expr) Note: Generate UDF in conversion for support. |
| %c | DY MON DD HH24:MI:SS YYYY |
| %D | MM/DD/YY |
| %d | DD |
| %e | DD |
| %F | YYYY-MM-DD |
| %G | YEAROFWEEKISO(date_expr) |
| %g | PUBLIC.ISO_YEAR_PART_UDF(date_expr, 2) Note: Generate UDF in conversion for support. |
| %H | HH24 |
| %h | MON |
| %I | HH12 |
| %J | PUBLIC.DAY_OF_YEAR_ISO_UDF(date_expr) Note: Generate UDF in conversion for support. |
| %j | DAYOFYEAR(date_expr) |
| %k | HH24 |
| %l | HH12 |
| %M | MI |
| %m | MM |
| %n | Not equivalent format |
| %P | pm |
| %p | AM |
| %Q | QUARTER(date_expr) |
| %R | HH24:MI |
| %S | SS |
| %s | Not equivalent format |
| %T | HH24:MI:SS |
| %t | Not equivalent format |
| %U | WEEK(date_expr) |
| %u | DAYOFWEEKISO(date_expr) |
| %V | WEEKISO(date_expr) |
| %W | WEEK(date_expr) Note: Unlike BigQuery, Snowflake results are dictated by the values set for the WEEK_OF_YEAR_POLICY and/or WEEK_START session parameters. So, results could differ from BigQuery based on those parameters. |
| %w | DAYOFWEEK(date_expr) Note: Unlike BigQuery, Snowflake results are dictated by the values set for the WEEK_OF_YEAR_POLICY and/or WEEK_START session parameters. So, results could differ from BigQuery based on those parameters. |
| %X | HH24:MI:SS |
| %x | MM/DD/YY |
| %Y | YYYY |
| %y | YY |
| %Z | Not equivalent format |
| %z | Not equivalent format |
| %Ez | Not equivalent format |
| %E<number>S | Not equivalent format |
| %E*S | Not equivalent format |
| %EY4 | YYYY |
경고
BigQuery에서 유형이 DATE인 경우 시간과 관련된 형식이 적용되지 않지만 Snowflake는 HH:MI:SS 사용에 대해 값이 0인 형식을 적용합니다.
참고
자세한 내용은 BigQuery DateTime 형식을 참조하세요.
ST_GEOGFROMTEXT¶
지리 함수.
설명¶
입력 WKT 표현에 대응하는
GEOGRAPHY값을 반환합니다.
자세한 내용은 ST_GEOGFROMTEXT 함수를 참조하세요.
SuccessPlaceholder
ST_GEOGFROMTEXT 함수는 Snowflake에서 지원됩니다.
문법 구문¶
ST_GEOGFROMTEXT(wkt_string[, oriented])
샘플 소스¶
ST_GEOGFROMTEXT 함수의 지향 매개 변수는 Snowflake에서 지원되지 않습니다.
BigQuery¶
SELECT ST_GEOGFROMTEXT('POINT(-122.35 37.55)');
SELECT ST_GEOGFROMTEXT('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))', TRUE);
Snowflake¶
SELECT ST_GEOGFROMTEXT('POINT(-122.35 37.55)');
SELECT
!!!RESOLVE EWI!!! /*** SSC-EWI-BQ0006 - ORIENTED PARAMETER IN THE ST_GEOGFROMTEXT FUNCTION IS NOT SUPPORTED IN SNOWFLAKE. ***/!!!
ST_GEOGFROMTEXT('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))');
지리 데이터 타입의 기본 출력 형식은 WKT **(Well-Known Text)**이고 Snowflake에서는 **WKB(Well-Known Binary)**입니다. ST_ASWKT 함수를 사용하거나, 데이터를 WKT 형식으로 보려면 GEOGRAPHY_OUTPUT_FORMAT 형식으로 설정할 수 있습니다.
ST_GEOGFROMTEXT 함수를 사용하여 지리 데이터 삽입¶
이 함수는 값 절에서 허용되지 않으며 Snowflake에서는 필요하지 않습니다.
BigQuery¶
CREATE OR REPLACE TABLE test.geographyType
(
COL1 GEOGRAPHY
);
INSERT INTO test.geographyType VALUES
(ST_GEOGFROMTEXT('POINT(-122.35 37.55)')),
(ST_GEOGFROMTEXT('LINESTRING(-124.20 42.00, -120.01 41.99)'));
Snowflake¶
CREATE OR REPLACE TABLE test.geographyType
(
COL1 GEOGRAPHY
);
INSERT INTO test.geographyType
VALUES
(
--** SSC-FDM-BQ0010 - THE FUNCTION 'ST_GEOGFROMTEXT' IS NOT REQUIRED IN SNOWFLAKE. **
'POINT(-122.35 37.55)'),
(
--** SSC-FDM-BQ0010 - THE FUNCTION 'ST_GEOGFROMTEXT' IS NOT REQUIRED IN SNOWFLAKE. **
'LINESTRING(-124.20 42.00, -120.01 41.99)');
ST_GEOGPOINT¶
지리 함수.
설명¶
단일 점을 사용하여
GEOGRAPHY를 만듭니다.ST_GEOGPOINT는 지정된FLOAT64경도(도 단위, 본초 자오선 서쪽은 음수, 동쪽은 양수) 및 위도(도 단위, 적도의 북쪽은 양수, 남쪽은 음수) 매개 변수에서 점을 생성하고 해당 점을GEOGRAPHY값으로 반환합니다.
자세한 내용은 ST_GEOGPOINT 함수를 참조하세요.
참고
함수 ST_GEOGPOINT는 Snowflake에서 ST_POINT로 변환됩니다.
문법 구문¶
ST_GEOGPOINT(longitude, latitude)
샘플 소스¶
BigQuery¶
SELECT ST_GEOGPOINT(-122.0838, 37.3860);
Snowflake¶
SELECT ST_POINT(-122.0838, 37.3860);
지리 데이터 타입의 기본 출력 형식은 WKT **(Well-Known Text)**이고 Snowflake에서는 **WKB(Well-Known Binary)**입니다. ST_ASWKT 함수를 사용하거나, 데이터를 WKT 형식으로 보려면 GEOGRAPHY_OUTPUT_FORMAT 형식으로 설정할 수 있습니다.
ST_POINT 함수를 사용하여 지리 데이터 삽입¶
이 함수는 값 절에서 허용되지 않으며 Snowflake에서는 필요하지 않습니다.
BigQuery¶
CREATE OR REPLACE TABLE test.geographyType
(
COL1 GEOGRAPHY
);
INSERT INTO test.geographyType
VALUES (ST_GEOGPOINT(-122.0838, 37.3860));
Snowflake¶
CREATE OR REPLACE TABLE test.geographyType
(
COL1 GEOGRAPHY
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "bigquery", "convertedOn": "04/03/2025", "domain": "test" }}';
INSERT INTO test.geographyType
VALUES (
--** SSC-FDM-BQ0010 - THE FUNCTION 'ST_GEOGFROMTEXT' IS NOT REQUIRED IN SNOWFLAKE. **
'POINT(122.0838 37.3860)');
관련 EWI의¶
SSC-FDM-BQ0010: Snowflake에는 지리 함수가 필요하지 않습니다.