SnowConvert: SQL -서버에 대한 함수 참조¶
ISNUMERIC_UDF¶
정의¶
이 사용자 정의 함수(UDF)는 식이 유효한 숫자 유형인지 여부를 결정합니다.
ISNUMERIC_UDF(EXPR VARCHAR)
매개 변수¶
EXPR
VARCHAR
평가할 식입니다.
반환¶
입력 식이 유효한 숫자 데이터 타입으로 평가되면 1을 반환하고, 그렇지 않으면 0을 반환합니다.
사용법 예¶
입력:
SELECT ISNUMERIC_UDF('5');
출력:
1
PATINDEX_UDF¶
정의¶
이 사용자 정의 함수(UDF)는 지정된 식에서 패턴이 처음 발생한 시작 위치를 반환하거나 패턴을 찾을 수 없는 경우 0을 반환합니다.
PATINDEX_UDF(PATTERN VARCHAR, EXPRESSION VARCHAR)
매개 변수¶
PATTERN
VARCHAR
검색할 패턴입니다.
EXPRESSION
VARCHAR
평가 중인 식입니다.
반환¶
패턴의 시작 위치가 포함된 정수를 반환합니다.
사용법 예¶
입력:
SELECT PATINDEX_UDF('an', 'banana');
출력:
2
ERROR_SEVERITY_UDF¶
정의¶
이 사용자 정의 함수(UDF)는 오류의 심각도를 나타내는 값을 가져옵니다. 기본값은 항상 16입니다.
ERROR_SEVERITY_UDF()
매개 변수¶
입력 매개 변수가 없습니다.
반환¶
SQL 변수 이름 ERROR_SEVERITY
와 연관된 값과 함께 문자열
을 반환합니다.
사용법 예¶
입력:
SELECT ERROR_SEVERITY_UDF();
출력:
null -- No information set.
TRANSFORM_SP_EXECUTE_SQL_STRING_UDF(STRING, STRING, ARRAY, ARRAY)¶
정의¶
이 사용자 정의 함수(UDF)는 SP_EXECUTESQL 시스템 프로시저에 포함된 매개 변수(데이터 바인딩)의 동작을 SQL 문자열의 값을 직접 대체하여 에뮬레이션합니다.
또한 SP_EXECUTESQL 은 변환될 EXECUTE IMMEDIATE 외부에서 수행되므로 문자열에서 OUTPUT 매개 변수를 제거합니다.
자세한 내용은 SP_EXECUTESQL 변환 사양을 참조하십시오.
TRANSFORM_SP_EXECUTE_SQL_STRING_UDF(
_SQL_STRING STRING,
_PARAMS_DEFINITION STRING,
_PARAMS_NAMES ARRAY,
_PARAMS_VALUES ARRAY
)
매개 변수¶
_SQL_STRING
STRING
변환할 문자열입니다.
_PARAMS_DEFINITION
STRING
원래 매개 변수 정의는 매개 변수 값을 할당해야 하는 순서를 확인합니다.
_PARAMS_NAMES
ARRAY
SQL 문자열의 값을 대체할 매개 변수 이름의 배열입니다.
_PARAMS_VALUES
ARRAY
SQL 문자열에서 대체할 매개 변수 값의 배열입니다.
반환¶
임베드된 매개 변수 값을 바꾼 STRING 을 반환합니다.
사용법 예¶
입력:
SELECT TRANSFORM_SP_EXECUTE_SQL_STRING_UDF(
'SELECT * FROM PERSONS WHERE NAME LIKE (@NAME) AND ID < @id AND AGE < @age;', '@age INT, @id INT, @name VARCHAR(25)',
ARRAY_CONSTRUCT('', '', ''),
ARRAY_CONSTRUCT(30, 100, 'John Smith'));
출력:
SELECT * FROM PERSONS WHERE NAME LIKE ('John Smith') AND ID < 100 AND AGE < 30;
TABLE_OBJECT_ID_UDF (VARCHAR)¶
정의¶
이 사용자 정의 함수(UDF)는 특정 이름의 테이블이 이전에 생성된 적이 있는지 확인합니다.
TABLE_OBJECT_ID_UDF(NAME VARCHAR)
매개 변수¶
NAME
VARCHAR
평가할 테이블 이름입니다.
반환¶
테이블의 존재 여부에 따라 부울 식을 반환합니다.
사용법 예¶
입력:
SELECT TABLE_OBJECT_ID_UDF('Test');
출력:
FALSE
ERROR_PROCEDURE_UDF¶
정의¶
이 사용자 정의 함수(UDF)는 SQL 변수 이름 ERROR_PROCEDURE
과 연관된 값을 반환합니다.
ERROR_PROCEDURE_UDF()
매개 변수¶
입력 매개 변수가 없습니다.
반환¶
SQL 변수 이름 ERROR_PROCEDURE
와 연관된 값과 함께 문자열
을 반환합니다.
사용법 예¶
입력:
SELECT ERROR_PROCEDURE_UDF();
출력:
null -- No information set.
DB_ID_UDF(STRING)¶
정의¶
이 사용자 정의 함수(UDF)는 DB_ID 기능을 에뮬레이션합니다.
DB_ID_UDF(p_database_name STRING)
매개 변수¶
p_database_name
STRING
아이디를 가져올 데이터베이스의 이름입니다.
반환¶
데이터베이스가 생성될 때 할당된 번호에 해당하는 ID를 반환합니다. 이 번호는 연속적으로 할당됩니다.
사용법 예¶
입력:
SELECT DB_ID_UDF('MY_DATABASE')
출력:
6
경고
데이터베이스가 존재하지 않으면 null을 반환합니다.
ERROR_LINE_UDF¶
정의¶
이 사용자 정의 함수(UDF)는 SQL 변수 이름 ERROR_LINE
과 연관된 값을 반환합니다.
ERROR_LINE_UDF()
매개 변수¶
입력 매개 변수가 없습니다.
반환¶
SQL 변수 이름 ERROR_LINE
과 연관된 값과 함께 문자열
을 반환합니다.
사용법 예¶
입력:
SELECT ERROR_LINE_UDF();
출력:
null -- No information set.
FUNCTION_OBJECT_ID_UDF (VARCHAR)¶
정의¶
이 사용자 정의 함수(UDF)는 특정 이름의 함수가 이전에 생성된 적이 있는지 확인합니다.
VIEW_OBJECT_ID_UDF(NAME VARCHAR)
매개 변수¶
NAME
VARCHAR
평가할 함수 이름입니다.
반환¶
함수의 존재 여부에 따라 부울 식을 반환합니다.
사용법 예¶
입력:
SELECT FUNCTION_OBJECT_ID_UDF('Test');
출력:
FALSE
CONSTRAINT_OBJECT_ID_UDF (VARCHAR)¶
정의¶
이 사용자 정의 함수(UDF)는 특정 이름의 제약 조건이 이전에 생성된 적이 있는지 확인합니다.
CONSTRAINT_OBJECT_ID_UDF(NAME VARCHAR)
매개 변수¶
NAME
VARCHAR
평가할 제약 조건 이름입니다.
반환¶
제약 조건의 존재 여부에 따라 부울 식을 반환합니다.
사용법 예¶
입력:
SELECT CONSTRAINT_OBJECT_ID_UDF('Test');
출력:
FALSE
FOR_XML_UDF (OBJECT, VARCHAR, VARCHAR)¶
정의¶
이 사용자 정의 함수(UDF)는 오브젝트를 XML 로 변환합니다.
FOR_XML_UDF(OBJ OBJECT, ELEMENT_NAME VARCHAR, ROOT_NAME VARCHAR)
매개 변수¶
OBJ
OBJECT
변환할 오브젝트입니다.
ELEMENT_NAME
VARCHAR
오브젝트에 부여할 요소 이름입니다.
ROOT_NAME
VARCHAR
XML 의 루트 이름입니다.
반환¶
XML 형식의 varchar을 반환합니다.
사용법 예¶
입력:
SELECT
FOR_XML_UDF(OBJECT_CONSTRUCT('id', 1, 'name', 'David'), 'employee', 'employees');
출력:
<employees>
<employee type="OBJECT">
<id type="INTEGER">1</id>
<name type="VARCHAR">David</name>
</employee>
<employees>
OBJECT_ID_UDF (VARCHAR)¶
정의¶
이 사용자 정의 함수(UDF)는 특정 이름의 오브젝트가 이전에 생성된 적이 있는지 확인합니다.
OBJECT_ID_UDF(NAME VARCHAR)
매개 변수¶
NAME
VARCHAR
평가할 오브젝트 이름입니다.
반환¶
오브젝트의 존재 여부에 따라 부울 식을 반환합니다.
사용법 예¶
입력:
SELECT OBJECT_ID_UDF('Test');
출력:
FALSE
PROCEDURE_OBJECT_ID_UDF (VARCHAR)¶
정의¶
이 사용자 정의 함수(UDF)는 특정 이름의 프로시저가 이전에 생성된 적이 있는지 확인합니다.
PROCEDURE_OBJECT_ID_UDF(NAME VARCHAR)
매개 변수¶
NAME
VARCHAR
평가할 프로시저 이름입니다.
반환¶
프로시저의 존재 여부에 따라 부울 식을 반환합니다.
사용법 예¶
입력:
SELECT PROCEDURE_OBJECT_ID_UDF('Test');
출력:
FALSE
ISDATE_UDF¶
정의¶
이 사용자 정의 함수(UDF)는 입력값이 유효한 날짜인지 여부를 확인합니다.
ISDATE_UDF(DATE_VALUE STRING)
매개 변수¶
DATE_VALUE
STRING
평가할 날짜입니다.
반환¶
입력 식이 유효한 날짜 데이터 타입으로 평가되면 1을 반환하고, 그렇지 않으면 0을 반환합니다.
사용법 예¶
입력:
SELECT ISDATE_UDF('2024-01-26');
출력:
1
ERROR_NUMBER_UDF¶
정의¶
이 사용자 정의 함수(UDF)는 SQL 변수 이름 ERROR_NUMBER
와 연관된 값을 반환합니다.
ERROR_NUMBER_UDF()
매개 변수¶
입력 매개 변수가 없습니다.
반환¶
SQL 변수 이름 ERROR_NUMBER
와 연관된 값과 함께 문자열
을 반환합니다.
사용법 예¶
입력:
SELECT ERROR_NUMBER_UDF();
출력:
null -- No information set.
OFFSET_FORMATTER (VARCHAR)¶
정의¶
이 사용자 정의 함수(UDF)는 보조 함수 를 사용하여 오프셋 시간과 그 접두사 연산자의 형식을 지정합니다.
OFFSET_FORMATTER(offset_hrs VARCHAR)
매개 변수¶
offset_hrs
VARCHAR
형식화할 값입니다.
반환¶
오프셋에 대한 형식이 지정된 출력과 함께 varchar 값을 반환합니다.
사용법 예¶
입력:
SELECT OFFSET_FORMATTER('2024-01-26 22:00:50.708 -0800');
출력:
2024-01-26 22:00:50.708 -0800
OPENXML_UDF¶
정의¶
이 사용자 정의 함수(UDF)는 XML 읽기에서 쿼리를 생성합니다.
OPENXML_UDF(XML VARCHAR, PATH VARCHAR)
매개 변수¶
XML
VARCHAR
XML 내용을 varchar
로.
PATH
VARCHAR
추출할 노드의 경로입니다.
반환¶
XML 읽기에 의해 생성된 데이터가 포함된 테이블을 반환합니다.
사용법 예¶
입력:
SELECT * FROM TABLE(OPENXML_UDF('<iceCreamOrders>
<order>
<customer customerID="CUST001" contactName="Test ABC">
<iceCreamOrder orderID="ORD001" employeeID="101" orderDate="2023-05-15T14:30:00">
<iceCreamDetail productID="001" quantity="2"/>
<iceCreamDetail productID="003" quantity="1"/>
</iceCreamOrder>
</customer>
</order>
<order>
<customer customerID="CUST002" contactName="Test XYZ">
<iceCreamOrder orderID="ORD002" employeeID="102" orderDate="2023-06-20T12:45:00">
<iceCreamDetail productID="005" quantity="3"/>
<iceCreamDetail productID="007" quantity="2"/>
</iceCreamOrder>
</customer>
</order>
</iceCreamOrders>
', 'iceCreamOrders:order'));
출력:
Value | |
---|---|
1 | { "order": { "$name": "order", "customer": [ { "customer": { "$name": "customer", "@contactName": "Test ABC", "@customerID": "CUST001", "iceCreamOrder": [ { "iceCreamOrder": { "$name": "iceCreamOrder", "@employeeID": 101, "@orderDate": "2023-05-15T14:30:00", "@orderID": "ORD001", "iceCreamDetail": [ { "iceCreamDetail": { "$name": "iceCreamDetail", "@productID": "001", "@quantity": 2 } }, { "iceCreamDetail": { "$name": "iceCreamDetail", "@productID": "003", "@quantity": 1 } } ] } } ] } } ] } } |
2 | { "order": { "$name": "order", "customer": [ { "customer": { "$name": "customer", "@contactName": "Test XYZ", "@customerID": "CUST002", "iceCreamOrder": [ { "iceCreamOrder": { "$name": "iceCreamOrder", "@employeeID": 102, "@orderDate": "2023-06-20T12:45:00", "@orderID": "ORD002", "iceCreamDetail": [ { "iceCreamDetail": { "$name": "iceCreamDetail", "@productID": "005", "@quantity": 3 } }, { "iceCreamDetail": { "$name": "iceCreamDetail", "@productID": "007", "@quantity": 2 } } ] } } ] } } ] } } |
QUOTENAME_UDF (VARCHAR, VARCHAR)¶
정의¶
이 사용자 정의 함수(UDF)는 구분 기호가 추가된 Unicode 문자열을 반환하여 유효한 SQL 서버 구분 식별자를 생성합니다.
QUOTENAME_UDF(STR VARCHAR, QUOTECHAR VARCHAR)
매개 변수¶
STR
VARCHAR
변환할 문자열입니다.
QUOTECHAR
VARCHAR
첫 번째 매개 변수에 추가할 구분 기호입니다.
반환¶
두 번째 매개 변수 식별자를 구분 기호로 추가한 varchar을 반환합니다.
사용법 예¶
입력:
SELECT QUOTENAME_UDF('test', '?');
출력:
?test?
UPDATE_ERROR_VARS_UDF (STRING, STRING, STRING)¶
정의¶
이 사용자 정의 함수(UDF)는 프로시저가 오류를 throw할 때를 알 수 있도록 환경의 오류 변수를 업데이트합니다.
UPDATE_ERROR_VARS_UDF(MESSAGE STRING, SEVERITY STRING, STATE STRING)
매개 변수¶
STATE
STRING
오류 메시지의 상태입니다.
MESSAGE
STRING
오류에 표시할 메시지입니다.
SEVERITY
STRING
오류의 심각도입니다.
반환¶
새 오류 메시지 정보와 함께 문자열
값을 반환합니다.
사용법 예¶
입력:
SELECT UPDATE_ERROR_VARS_UDF('Message', '1', '1');
출력:
1ABC1
ROUND_MILLISECONDS_UDF (TIMESTAMP_TZ)¶
정의¶
이 사용자 정의 함수(UDF)는 밀리초를 0, 3 또는 7밀리초 단위로 반올림하는 함수입니다. 트랜잭션은 날짜/시간 값의 밀리초를 자동으로 반올림합니다.
ROUND_MILLISECONDS_UDF(INPUT TIMESTAMP_TZ)
매개 변수¶
INPUT
TIMESTAMP_TZ
반올림할 입력 시간입니다.
반환¶
입력한 TIMESTAMP_TZ
값과 동일한 값을 반환하지만 밀리초를 반올림하여 반환합니다.
사용법 예¶
입력:
SELECT PUBLIC.ROUND_MILLISECONDS_UDF('1900-01-01 00:00:00.995 +0100')
출력:
'1900-01-01 00:00:00.997 +0100'
CAST_NUMERIC_TO_TIMESTAMP_TZ_UDF (NUMBER)¶
정의¶
이 사용자 정의 함수(UDF)는 숫자 값을 timestamp_tz
로 형 변환하는 데 사용됩니다.
CAST_NUMERIC_TO_TIMESTAMP_TZ_UDF(INPUT NUMBER)
매개 변수¶
INPUT
NUMBER
형 변환할 번호입니다.
반환¶
현재 타임존와 함께 timestamp_tz
를 반환합니다.
사용법 예¶
입력:
SELECT PUBLIC.CAST_NUMERIC_TO_TIMESTAMP_TZ_UDF(0)
출력:
1900-01-01 01:00:00.000 +0100
IDENTITY_UDF¶
정의¶
이 사용자 정의 함수(UDF)는 식이 유효한 숫자 유형인지 여부를 결정합니다.
IDENTITY_UDF()
매개 변수¶
입력 매개 변수가 없습니다.
반환¶
정수 식을 반환합니다.
사용법 예¶
경고
논리를 지원하기 위해 시퀀스가 생성됩니다.
입력:
IDENTITY_UDF()
출력:
1
FOR_XML_UDF (OBJECT, VARCHAR)¶
정의¶
이 사용자 정의 함수(UDF)는 오브젝트를 XML 로 변환합니다.
FOR_XML_UDF(OBJ OBJECT, ELEMENT_NAME VARCHAR)
매개 변수¶
OBJ
OBJECT
변환할 오브젝트입니다.
ELEMENT_NAME
VARCHAR
오브젝트에 부여할 요소 이름입니다.
반환¶
XML 형식의 varchar을 반환합니다.
사용법 예¶
입력:
SELECT
FOR_XML_UDF(OBJECT_CONSTRUCT('id', 1, 'name', 'David'), 'employee');
출력:
<employee type="OBJECT">
<id type="INTEGER">1</id>
<name type="VARCHAR">David</name>
</employee>
QUOTENAME_UDF (VARCHAR)¶
정의¶
이 사용자 정의 함수(UDF)는 구분 기호가 추가된 Unicode 문자열을 반환하여 유효한 SQL 서버 구분 식별자를 생성합니다.
QUOTENAME_UDF(STR VARCHAR)
매개 변수¶
STR
VARCHAR
변환할 문자열입니다.
반환¶
구분 기호가 추가된 varchar을 반환합니다.
사용법 예¶
입력:
SELECT QUOTENAME_UDF('test');
출력:
"test"
VIEW_OBJECT_ID_UDF (VARCHAR)¶
정의¶
이 사용자 정의 함수(UDF)는 특정 이름의 뷰가 이전에 생성된 적이 있는지 확인합니다.
VIEW_OBJECT_ID_UDF(NAME VARCHAR)
매개 변수¶
NAME
VARCHAR
평가할 뷰 이름입니다.
반환¶
뷰의 존재 여부에 따라 부울 식을 반환합니다.
사용법 예¶
입력:
SELECT VIEW_OBJECT_ID_UDF('Test');
출력:
FALSE
SUBTRACT_TIMESTAMP_TZ_UDF (TIMESTAMP_TZ, TIMESTAMP_TZ)¶
정의¶
이 사용자 정의 함수(UDF)는 두 입력값을 시스템 세션 시간대로 변환하고 1900-01-01 00:00:00.000을 0값으로 하여 날짜(FIRST_DATE
- SECOND_DATE
)를 뺍니다. 값에 타임존가 포함되지 않은 경우 현재 세션 타임존가 사용됩니다.
PUBLIC.SUBTRACT_TIMESTAMP_TZ_UDF(FIRST_DATE TIMESTAMP_TZ, SECOND_DATE TIMESTAMP_TZ)
매개 변수¶
FIRST_DATE
TIMESTAMP_TZ
첫 번째 날짜에서 뺄 날짜입니다.
SECOND_DATE
TIMESTAMP_TZ
두 번째 날짜에서 뺄 날짜입니다.
반환¶
두 입력 날짜의 차이를 반환합니다.
사용법 예¶
입력:
SELECT SUBTRACT_TIMESTAMP_TZ_UDF('1900-01-01 00:00:00.000 +0100', '1900-01-01 00:00:00.003 -0100')
출력:
1899-12-31 13:59:59.997 -0800
STR_UDF (FLOAT, VARCHAR)¶
정의¶
이 사용자 정의 함수 (UDF)는 SQL Server STR()의 기능을 하나 또는 2개의 선택적 매개 변수와 함께 사용할 때 Snowflake로 변환하기 위한 템플릿입니다
STR_UDF(FLOAT_EXPR FLOAT, FORMAT VARCHAR)
매개 변수¶
FLOAT_EXPR
FLOAT
처리할 식입니다.
FORMAT
VARCHAR
적용할 형식입니다.
반환¶
형식이 지정된 식을 varchar로 반환합니다.
사용법 예¶
입력:
SELECT STR_UDF(1.5, '99');
출력:
2
XML_JSON_SIMPLE¶
정의¶
이 사용자 정의 함수(UDF)는 XML 값에서 읽기를 실행하여 얻은 정보로 오브젝트를 생성합니다.
XML_JSON_SIMPLE(XML VARIANT)
매개 변수¶
XML
VARIANT
읽을 XML 입니다.
반환¶
XML 에서 처리된 정보가 포함된 오브젝트를 반환합니다.
사용법 예¶
입력:
SELECT XML_JSON_SIMPLE(TO_VARIANT(PARSE_XML('<iceCreamOrders>
<order>
<customer customerID="CUST001" contactName="Test ABC">
<iceCreamOrder orderID="ORD001" employeeID="101" orderDate="2023-05-15T14:30:00">
<iceCreamDetail productID="001" quantity="2"/>
<iceCreamDetail productID="003" quantity="1"/>
</iceCreamOrder>
</customer>
</order>
<order>
<customer customerID="CUST002" contactName="Test XYZ">
<iceCreamOrder orderID="ORD002" employeeID="102" orderDate="2023-06-20T12:45:00">
<iceCreamDetail productID="005" quantity="3"/>
<iceCreamDetail productID="007" quantity="2"/>
</iceCreamOrder>
</customer>
</order>
</iceCreamOrders>
')));
출력:
{
"iceCreamOrders": {
"$name": "iceCreamOrders",
"order": [
{
"order": {
"$name": "order",
"customer": [
{
"customer": {
"$name": "customer",
"@contactName": "Test ABC",
"@customerID": "CUST001",
"iceCreamOrder": [
{
"iceCreamOrder": {
"$name": "iceCreamOrder",
"@employeeID": 101,
"@orderDate": "2023-05-15T14:30:00",
"@orderID": "ORD001",
"iceCreamDetail": [
{
"iceCreamDetail": {
"$name": "iceCreamDetail",
"@productID": "001",
"@quantity": 2
}
},
{
"iceCreamDetail": {
"$name": "iceCreamDetail",
"@productID": "003",
"@quantity": 1
}
}
]
}
}
]
}
}
]
}
},
{
"order": {
"$name": "order",
"customer": [
{
"customer": {
"$name": "customer",
"@contactName": "Test XYZ",
"@customerID": "CUST002",
"iceCreamOrder": [
{
"iceCreamOrder": {
"$name": "iceCreamOrder",
"@employeeID": 102,
"@orderDate": "2023-06-20T12:45:00",
"@orderID": "ORD002",
"iceCreamDetail": [
{
"iceCreamDetail": {
"$name": "iceCreamDetail",
"@productID": "005",
"@quantity": 3
}
},
{
"iceCreamDetail": {
"$name": "iceCreamDetail",
"@productID": "007",
"@quantity": 2
}
}
]
}
}
]
}
}
]
}
}
]
}
}
FORMATMESSAGE_UDF¶
정의¶
이 사용자 정의 함수(UDF)는 SQL Server FORMATMESSAGE 함수의 기능을 제공합니다. 제공된 문자열의 기존 메시지에서 메시지를 구성합니다.
FORMATMESSAGE_UDF(MESSAGE STRING, ARGS ARRAY)
매개 변수¶
MESSAGE
STRING
기존 메시지 문자열입니다.
ARGS
ARRAY
첫 번째 메시지 문자열에 추가할 인자입니다.
반환¶
인자의 위치와 관련된 해당 연결 메시지가 포함된 문자열을 반환합니다.
사용법 예¶
입력:
SELECT FORMATMESSAGE_UDF('Test %s!', TO_ARRAY('a'));
출력:
Test a!
IS_MEMBER_UDF¶
정의¶
이 사용자 정의 함수(UDF)는 액세스 토큰을 검사하여 윈도우 그룹 멤버 자격을 결정합니다.
IS_MEMBER_UDF(ROLE STRING)
매개 변수¶
ROLE
STRING
확인할 역할 이름입니다.
반환¶
현재 사용자가 역할의 멤버인 경우 true이면 부울 식을 반환하고, 그렇지 않으면 false을 반환합니다.
사용법 예¶
입력:
SELECT IS_MEMBER_UDF('TEST');
출력:
FALSE
RAISERROR_UDF (DOUBLE, DOUBLE, DOUBLE, ARRAY)¶
정의¶
이 사용자 정의 함수(UDF)는 특정 메시지와 함께 예외를 throw합니다.
RAISERROR_UDF(MSG_ID DOUBLE, SEVERITY DOUBLE, STATE DOUBLE, PARAMS ARRAY)
매개 변수¶
MSG_ID
DOUBLE
오류 메시지의 메시지 ID 입니다.
SEVERITY
DOUBLE
오류의 심각도 번호입니다.
STATE
DOUBLE
오류 메시지의 상태 번호입니다.
PARAMS
ARRAY
오류 메시지의 추가 정보입니다.
반환¶
오류 메시지와 함께 varchar을 반환합니다.
사용법 예¶
입력:
SELECT RAISERROR_UDF(2.1, 1.6, 1.0, array_construct('More information'));
출력:
MESSAGE: 2.1, LEVEL: 1.6, STATE: 1
STR_UDF(FLOAT)¶
정의¶
이 사용자 정의 함수 (UDF)는 SQL Server STR()의 기능을 하나 또는 2개의 선택적 매개 변수와 함께 사용할 때 Snowflake로 변환하기 위한 템플릿입니다
STR_UDF(FLOAT_EXPR FLOAT, FORMAT VARCHAR)
매개 변수¶
FLOAT_EXPR
FLOAT
처리할 식입니다.
반환¶
형식이 지정된 식을 varchar로 반환합니다.
사용법 예¶
입력:
SELECT STR_UDF(1.5);
출력:
2
SWITCHOFFSET_UDF (TIMESTAMP_TZ, VARCHAR)¶
정의¶
이 사용자 정의 함수(UDF)는 매개 변수 target_tz에 대해 조정된 시간이 포함된 새 timestamp_tz를 반환합니다.
SWITCHOFFSET_UDF(source_timestamp TIMESTAMP_TZ, target_tz varchar)
매개 변수¶
source_timestamp
TIMESTAMP_TZ
조정할 소스 타임스탬프입니다.
target_tz
varchar
가져올 대상 시간입니다.
반환¶
형식이 지정된 대상 시간을 TIMESTAMP_TZ 로 반환합니다.
사용법 예¶
입력:
SELECT SWITCHOFFSET_UDF(time_in_paris, '-0600') as time_in_costa_rica;
출력:
time_in_paris |
time_in_costa_rica |
---|---|
2022-10-05 22:00:24.467 +02:00 |
2022-10-05 14:00:24.467 -06:00 |
GET_CURRENT_TIMEZONE_UDF¶
정의¶
이 사용자 정의 함수(UDF)는 현재 세션 또는 시스템 시간대를 리터럴로 가져옵니다.
GET_CURRENT_TIMEZONE_UDF()
매개 변수¶
매개 변수가 없습니다.
반환¶
현재 세션 또는 시스템 시간대가 리터럴로 표시된 리터럴 값을 반환합니다.
사용법 예¶
입력:
SELECT PUBLIC.GET_CURRENT_TIMEZONE_UDF();
출력:
'Europe/London'
UPDATE_ERROR_VARS_UDF (STRING, STRING, STRING, STRING, STRING, STRING)¶
정의¶
이 사용자 정의 함수(UDF)는 프로시저가 오류를 throw할 때를 알 수 있도록 환경의 오류 변수를 업데이트합니다.
UPDATE_ERROR_VARS_UDF(LINE STRING,CODE STRING, STATE STRING, MESSAGE STRING, PROC_NAME STRING, SEVERITY STRING)
매개 변수¶
LINE
STRING
오류와 관련된 라인입니다.
CODE
STRING
오류 메시지와 관련된 오류 코드입니다.
STATE
STRING
오류 메시지의 상태입니다.
MESSAGE
STRING
오류에 표시할 메시지입니다.
PROC_NAME
STRING
프로시저 이름입니다.
SEVERITY
STRING
오류의 심각도입니다.
반환¶
새 오류 메시지 정보와 함께 문자열
값을 반환합니다.
사용법 예¶
입력:
SELECT UPDATE_ERROR_VARS_UDF('1', '1', '1', 'ABC', 'TEST', '1');
출력:
111ABCTEST1
SEQUENCE_OBJECT_ID_UDF (VARCHAR)¶
정의¶
이 사용자 정의 함수(UDF)는 특정 이름의 시퀀스가 이전에 생성된 적이 있는지 확인합니다.
SEQUENCE_OBJECT_ID_UDF(NAME VARCHAR)
매개 변수¶
NAME
VARCHAR
평가할 시퀀스 이름입니다.
반환¶
시퀀스의 존재 여부에 따라 부울 식을 반환합니다.
사용법 예¶
입력:
SELECT SEQUENCE_OBJECT_ID_UDF('Test');
출력:
FALSE
CAST_TIMESTAMP_TZ_TO_NUMERIC_UDF (TIMESTAMP_TZ)¶
정의¶
이 사용자 정의 함수(UDF)는 timestamp_tz
를 숫자로 형 변환하는 데 사용됩니다. 숫자 값으로는 타임스탬프
정보를 저장할 수 없으므로 현재 시간대를 UTC 로 변환합니다.
CAST_TIMESTAMP_TZ_TO_NUMERIC_UDF(INPUT TIMESTAMP_TZ)
매개 변수¶
INPUT
TIMESTAMP_TZ
전송할 타임스탬프
입력입니다.
반환¶
소수점이 있는 숫자를 반환합니다. 정수 부분은 1900-01-01부터 일 수를 나타내고 소수 부분은 24시간 중 밀리초의 백분율입니다.
사용법 예¶
입력:
SELECT PUBLIC.CAST_TIMESTAMP_TZ_TO_NUMERIC_UDF('1900-01-01 01:00:00.000 +0100')
출력:
0
RAISERROR_UDF (VARCHAR, DOUBLE, DOUBLE, ARRAY)¶
정의¶
이 사용자 정의 함수(UDF)는 특정 메시지와 함께 예외를 throw합니다.
RAISERROR_UDF(MSG_TEXT VARCHAR, SEVERITY DOUBLE, STATE DOUBLE, PARAMS ARRAY)
매개 변수¶
MSG_TEXT
VARCHAR
오류 메시지의 메시지 텍스트입니다.
SEVERITY
DOUBLE
오류의 심각도 번호입니다.
STATE
DOUBLE
오류 메시지의 상태 번호입니다.
PARAMS
ARRAY
오류 메시지의 추가 정보입니다.
반환¶
오류 메시지와 함께 varchar을 반환합니다.
사용법 예¶
입력:
SELECT RAISERROR_UDF('<\<%*.*s>> TEST', 1.0, 1, array_construct());
출력:
MESSAGE: <<undefined>> TEST, LEVEL: 1, STATE: 1
PARSENAME_UDF¶
정의¶
이 사용자 정의 함수(UDF)는 '.'
로 구분된 문자열
의 PART_NUMBER 인덱스를 가져옵니다.
PARSENAME_UDF(STR VARCHAR, PART_NUMBER INT)
매개 변수¶
STR
VARCHAR
오브젝트 이름은 문자열
입니다.
PART_NUMBER
INT
오브젝트 이름에서 확인할 부분입니다.
반환¶
오브젝트 이름에서 지정된 부분을 반환합니다.
사용법 예¶
입력:
SELECT PARSENAME_UDF('Test_A.Test_B.Test_C]', 2);
출력:
Test_B
ERROR_STATE_UDF¶
정의¶
이 사용자 정의 함수(UDF)는 실행 횟수나 CATCH
블록의 범위 내에서 실행되는 위치에 관계없이 오류 상태를 가져옵니다.
ERROR_STATE_UDF()
매개 변수¶
입력 매개 변수가 없습니다.
반환¶
실행 횟수 또는 CATCH
블록의 범위 내에서 실행되는 위치에 관계없이 오류 상태와 함께 문자열
을 반환합니다.
사용법 예¶
입력:
SELECT ERROR_STATE_UDF();
출력:
null -- No information set.
CAST_TIME_TO_TIMESTAMP_TZ_UDF (TIME)¶
정의¶
이 사용자 정의 함수(UDF)는 time
을 timestamp_tz
로 형 변환합니다.
CAST_TIME_TO_TIMESTAMP_TZ_UDF(INPUT TIME)
매개 변수¶
INPUT
TIME
timestamp_tz
로 전송할 입력 시간입니다.
반환¶
날짜가 1900-01-01이고 입력한 시간과 동일한 시간인 timestamp_tz
를 반환합니다.
사용법 예¶
입력:
SELECT PUBLIC.CAST_TIME_TO_TIMESTAMP_TZ_UDF('00:00:00.995')
출력:
1900-01-01 00:00:00.997
SUM_TIMESTAMP_TZ_UDF (TIMESTAMP_TZ, TIMESTAMP_TZ)¶
정의¶
이 사용자 정의 함수(UDF)는 두 입력값을 시스템 또는 세션 시간대로 변환하고 1900-01-01 00:00:00.000을 영값으로 하여 날짜를 더합니다. 값에 타임존가 포함되지 않은 경우 현재 세션 타임존가 사용됩니다.
SUM_TIMESTAMP_TZ_UDF(FIRST_DATE TIMESTAMP_TZ, SECOND_DATE TIMESTAMP_TZ)
매개 변수¶
FIRST_DATE
TIMESTAMP_TZ
합산할 첫 번째 날짜입니다.
SECOND_DATE
TIMESTAMP_TZ
합산할 두 번째 날짜입니다.
반환¶
두 입력 날짜 사이의 합계를 반환합니다.
사용법 예¶
입력:
SELECT SUM_TIMESTAMP_TZ_UDF('1900-01-01 00:00:00.000 +0100', '1900-01-01 00:00:00.003 -0100')
출력:
1900-01-01 00:00:00.003 +0000