SnowConvert AI - BigQuery - 기본 제공 함수

BigQuery용 SnowConvert AI에서 지원하는 모든 기본 제공 함수에 대한 변환 참조.

참고

기본 제공 함수 및 그와 동등한 Snowflake 함수에 대한 자세한 내용에 대해서는 [일반적인 기본 제공 함수](../../translation-references/general/ built-in-functions)도 참조하세요.

집계 함수

BigQuery

Snowflake

ANY_VALUE

<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)

ANY_VALUE( expr1, HAVING MIN expr2)

MAX_BY(expr1, expr1)

MIN_BY(expr1, expr2)

AVG

AVG

COUNT

COUNT

COUNTIF

COUNT_IF

LOGICAL_AND

BOOLAND_AGG

LOGICAL_OR

BOOLOR_AGG

MAX

MAX

MIN

MIN

SUM

SUM

배열 함수

BigQuery

Snowflake

ARRAY_AGG

ARRAY_AGG

ARRAY_CONCAT

ARRAY_CAT

ARRAY_CONCAT_AGG

ARRAY_FLATTEN

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>

조건식

BigQuerySnowflake
COALESCECOALESCE
IFIFF
IFNULLIFNULL
NULLIFNULLIF

변환 함수

BigQuery

Snowflake

SAFE_CAST

TRY_CAST

날짜 함수

BigQuery

Snowflake

CURRENT_DATE
CURRENT_DATE()

CURRENT_DATE

CURRENT_DATE()

FORMAT_DATE

<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_DATETIME

CURRENT_DATETIME()

CURRENT_TIMESTAMP :: TIMESTAMP_NTZ
CURRENT_TIMESTAMP() :: TIMESTAMP_NTZ

지리 함수

BigQuery

Snowflake

ST_GEOGFROMTEXT

<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>

ST_GEOGPOINT

<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

JSON_VALUE / JSON_EXTRACT_SCALAR

<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>

JSON_VALUE_ARRAY

<p>JSON_VALUE_ARRAY_UDF<br><br><em>참고: SnowConvert AI는 JSON에서 배열을 추출하는 것과 동등한 동작을 얻기 위해 UDF를 생성합니다.</em></p>

LAX_INT64

<p>PUBLIC.LAX_INT64_UDF<br><br><em>참고: SnowConvert AI는 동등한 동작을 얻기 위해 UDF를 생성합니다.</em></p>

LAX_BOOL

<p>PUBLIC.LAX_BOOL_UDF<br><br><em>참고: SnowConvert AI는 동등한 동작을 얻기 위해 UDF를 생성합니다.</em></p>

수학 함수

BigQuery

Snowflake

ABS

ABS

LEAST

LEAST

MOD

MOD

ROUND(X)
ROUND(X, Y)
ROUND(X, Y, ‘ROUND_HALF_EVEN’)
ROUND(X, Y, ‘ROUND_HALF_AWAY_FROM_ZERO’)

ROUND(X)
ROUND(X, Y)
ROUND(X, Y, ‘HALF_TO_EVEN’)
ROUND(X, Y, ‘HALF_AWAY_FROM_ZERO’)

번호 매기기 함수

BigQuery

Snowflake

RANK

RANK

ROW_NUMBER

ROW_NUMBER

문자열 함수

BigQuery

Snowflake

BYTE_LENGTH(expr)

<p>LENGTH(TO_BINARY(HEX_ENCODE(expr)))<br><br><em>참고: BigQuery의 BYTE_LENGTH는 인코딩된 문자열의 바이트 수를 반환합니다. 동등한 Snowflake 함수는 바이트 길이를 얻기 위해 16진수 인코딩 후에 이진으로 변환합니다.</em></p>

CHARACTER_LENGTH
CHAR_LENGTH

LENGTH

CONCAT

CONCAT

ENDS_WITH

ENDSWITH

FROM_BASE64

<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>

FROM_HEX

<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>

LEFT

LEFT

LENGTH

LENGTH

LOWER

LOWER

LPAD

LPAD

LTRIM

LTRIM

REGEXP_CONTAINS(value, regexp)

REGEXP_INSTR(value, regexp) > 0

REGEXP_EXTRACT_ALL

REGEXP_SUBSTR_ALL

REPLACE

REPLACE

RIGHT

RIGHT

RPAD

RPAD

RTRIM

RTRIM

SPLIT

SPLIT

STARTS_WITH

STARTSWITH

SUBSTR(string, position)

SUBSTRING(string, position)

SUBSTR(sttring, position, length)

SUBSTRING(sttring, position, length)

SUBSTR(string, IFF(position < -LENGTH(string), 1, position))

SUBSTRING(string, IFF(position < -LENGTH(string), 1, position))

SUBSTR(sttring, IFF(position < -LENGTH(string), 1, position), length)

SUBSTRING(sttring, IFF(position < -LENGTH(string), 1, position), length)

TO_HEX

HEX_ENCODE

UPPER

UPPER

타임스탬프 함수

BigQuery

Snowflake

CURRENT_TIMESTAMP
CURRENT_TIMESTAMP()

CURRENT_TIMESTAMP

CURRENT_TIMESTAMP()

SAFE.TIMESTAMP_MILLIS

<p>IFF(expr BETWEEN -62135596800000 AND 253402300799999, TO_TIMESTAMP(expr / 1000), null)<br><br><em>참고: 오버플로 오류를 방지하기 위한 범위 유효성 검사가 포함된 안전한 버전입니다.</em></p>

SAFE.TIMESTAMP_SECONDS

<p>SAFE_TIMESTAMP_SECONDS_UDF(expr)<br><br><em>참고: SnowConvert AI는 오류 처리와 함께 안전한 타임스탬프 변환을 제공하기 위한 UDF를 생성합니다.</em></p>

TIMESTAMP_MILLIS

<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)
Copy

샘플 소스

BigQuery
CREATE TABLE TEST_DATE (col1 DATE);
SELECT FORMAT_DATE('%Y', col1);
Copy
Snowflake
CREATE TABLE TEST_DATE (col1 DATE);
SELECT
  TO_CHAR(col1, 'YYYY')
FROM
  TEST_DATE;
Copy

BigQuery 형식 동등 함수

BigQuerySnowflake
%APUBLIC.DAYNAME_LONG_UDF(date_expr)

Note: Generate UDF in conversion for support.
%aDY
%BMMMM
%bMON
%CPUBLIC.CENTURY_UDF(date_expr)

Note: Generate UDF in conversion for support.
%cDY MON DD HH24:MI:SS YYYY
%DMM/DD/YY
%dDD
%eDD
%FYYYY-MM-DD
%GYEAROFWEEKISO(date_expr)
%gPUBLIC.ISO_YEAR_PART_UDF(date_expr, 2)

Note: Generate UDF in conversion for support.
%HHH24
%hMON
%IHH12
%JPUBLIC.DAY_OF_YEAR_ISO_UDF(date_expr)

Note: Generate UDF in conversion for support.
%jDAYOFYEAR(date_expr)
%kHH24
%lHH12
%MMI
%mMM
%nNot equivalent format
%Ppm
%pAM
%QQUARTER(date_expr)
%RHH24:MI
%SSS
%sNot equivalent format
%THH24:MI:SS
%tNot equivalent format
%UWEEK(date_expr)
%uDAYOFWEEKISO(date_expr)
%VWEEKISO(date_expr)
%WWEEK(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.
%wDAYOFWEEK(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.
%XHH24:MI:SS
%xMM/DD/YY
%YYYYY
%yYY
%ZNot equivalent format
%zNot equivalent format
%EzNot equivalent format
%E<number>SNot equivalent format
%E*SNot equivalent format
%EY4YYYY

경고

BigQuery에서 유형이 DATE인 경우 시간과 관련된 형식이 적용되지 않지만 Snowflake는 HH:MI:SS 사용에 대해 값이 0인 형식을 적용합니다.

참고

자세한 내용은 BigQuery DateTime 형식을 참조하세요.

ST_GEOGFROMTEXT

지리 함수.

설명

입력 WKT 표현에 대응하는 GEOGRAPHY 값을 반환합니다.

자세한 내용은 ST_GEOGFROMTEXT 함수를 참조하세요.

SuccessPlaceholder

ST_GEOGFROMTEXT 함수는 Snowflake에서 지원됩니다.

문법 구문

 ST_GEOGFROMTEXT(wkt_string[, oriented])
Copy

샘플 소스

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);
Copy
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))');
Copy

지리 데이터 타입의 기본 출력 형식은 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)'));
Copy
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)');
Copy

ST_GEOGPOINT

지리 함수.

설명

단일 점을 사용하여 GEOGRAPHY를 만듭니다. ST_GEOGPOINT는 지정된 FLOAT64 경도(도 단위, 본초 자오선 서쪽은 음수, 동쪽은 양수) 및 위도(도 단위, 적도의 북쪽은 양수, 남쪽은 음수) 매개 변수에서 점을 생성하고 해당 점을 GEOGRAPHY 값으로 반환합니다.

자세한 내용은 ST_GEOGPOINT 함수를 참조하세요.

참고

함수 ST_GEOGPOINT는 Snowflake에서 ST_POINT로 변환됩니다.

문법 구문

 ST_GEOGPOINT(longitude, latitude)
Copy

샘플 소스

BigQuery
 SELECT ST_GEOGPOINT(-122.0838, 37.3860);
Copy
Snowflake
 SELECT ST_POINT(-122.0838, 37.3860);
Copy

지리 데이터 타입의 기본 출력 형식은 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));
Copy
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)');
Copy

관련 EWI의

  1. SSC-FDM-BQ0010: Snowflake에는 지리 함수가 필요하지 않습니다.