SnowConvert: Referências de funções para SQL Server¶
ISNUMERIC_UDF¶
Definição¶
Essa função definida pelo usuário (UDF) determina se uma expressão é um tipo numérico válido.
ISNUMERIC_UDF(EXPR VARCHAR)
Parâmetros¶
EXPR
VARCHAR
A expressão a ser avaliada.
Retornos¶
Retorna 1 quando a expressão de entrada é avaliada como um tipo de dados numéricos válido; caso contrário, retorna 0.
Exemplo de uso¶
Entrada:
SELECT ISNUMERIC_UDF('5');
Saída:
1
PATINDEX_UDF¶
Definição¶
Essa função definida pelo usuário (UDF) retorna a posição inicial da primeira ocorrência de um padrão em uma expressão especificada ou zeros se o padrão não for encontrado.
PATINDEX_UDF(PATTERN VARCHAR, EXPRESSION VARCHAR)
Parâmetros¶
PATTERN
VARCHAR
O padrão a ser pesquisado.
EXPRESSION
VARCHAR
A expressão que está sendo avaliada.
Retornos¶
Retorna um número inteiro com a posição inicial do padrão.
Exemplo de uso¶
Entrada:
SELECT PATINDEX_UDF('an', 'banana');
Saída:
2
ERROR_SEVERITY_UDF¶
Definição¶
Essa função definida pelo usuário (UDF) obtém um valor que indica a gravidade de um erro. O valor padrão será sempre 16.
ERROR_SEVERITY_UDF()
Parâmetros¶
Não há parâmetros de entrada.
Retornos¶
Retorna uma cadeia de caracteres
com o valor associado ao nome da variável SQL ERROR_SEVERITY
.
Exemplo de uso¶
Entrada:
SELECT ERROR_SEVERITY_UDF();
Saída:
null -- No information set.
TRANSFORM_SP_EXECUTE_SQL_STRING_UDF(STRING, STRING, ARRAY, ARRAY)¶
Definição¶
Essa função definida pelo usuário (UDF) emula o comportamento dos parâmetros incorporados (Data Binding) no procedimento do sistema SP_EXECUTESQL, substituindo diretamente seus valores na cadeia SQL.
Além disso, ele remove os parâmetros OUTPUT da cadeia de caracteres, pois isso é feito fora do EXECUTE IMMEDIATE para o qual o SP_EXECUTESQL será transformado.
Para obter mais informações, consulte a especificação de conversão SP_EXECUTESQL.
TRANSFORM_SP_EXECUTE_SQL_STRING_UDF(
_SQL_STRING STRING,
_PARAMS_DEFINITION STRING,
_PARAMS_NAMES ARRAY,
_PARAMS_VALUES ARRAY
)
Parâmetros¶
_SQL_STRING
STRING
A cadeia de caracteres a ser transformada.
_PARAMS_DEFINITION
STRING
A definição original dos parâmetros verifica a ordem em que os valores dos parâmetros devem ser atribuídos.
_PARAMS_NAMES
ARRAY
A matriz de nomes de parâmetros para substituir os valores na cadeia de caracteres SQL.
_PARAMS_VALUES
ARRAY
A matriz dos valores dos parâmetros a serem substituídos na cadeia de caracteres SQL.
Retornos¶
Retorna um STRING com os valores dos parâmetros incorporados substituídos.
Exemplo de uso¶
Entrada:
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'));
Saída:
SELECT * FROM PERSONS WHERE NAME LIKE ('John Smith') AND ID < 100 AND AGE < 30;
TABLE_OBJECT_ID_UDF (VARCHAR)¶
Definição¶
Essa função definida pelo usuário (UDF) verifica se uma tabela com um nome específico foi criada anteriormente.
TABLE_OBJECT_ID_UDF(NAME VARCHAR)
Parâmetros¶
NAME
VARCHAR
O nome da tabela a ser avaliada.
Retornos¶
Retorna uma expressão booliana que depende da existência da tabela.
Exemplo de uso¶
Entrada:
SELECT TABLE_OBJECT_ID_UDF('Test');
Saída:
FALSE
ERROR_PROCEDURE_UDF¶
Definição¶
Essa função definida pelo usuário (UDF) retorna o valor associado ao nome da variável SQL ERROR_PROCEDURE
.
ERROR_PROCEDURE_UDF()
Parâmetros¶
Não há parâmetros de entrada.
Retornos¶
Retorna uma cadeia de caracteres
com o valor associado ao nome da variável SQL ERROR_PROCEDURE
.
Exemplo de uso¶
Entrada:
SELECT ERROR_PROCEDURE_UDF();
Saída:
null -- No information set.
DB_ID_UDF(STRING)¶
Definição¶
Essa função definida pelo usuário (UDF) emula a funcionalidade DB_ID.
DB_ID_UDF(p_database_name STRING)
Parâmetros¶
p_database_name
STRING
O nome do banco de dados para obter a id.
Retornos¶
Retorna um id que corresponde ao número atribuído ao banco de dados quando ele é criado. Esse número é atribuído consecutivamente.
Exemplo de uso¶
Entrada:
SELECT DB_ID_UDF('MY_DATABASE')
Saída:
6
Aviso
Se o banco de dados não existir, ele retornará null.
ERROR_LINE_UDF¶
Definição¶
Essa função definida pelo usuário (UDF) retorna o valor associado ao nome da variável SQL ERROR_LINE
.
ERROR_LINE_UDF()
Parâmetros¶
Não há parâmetros de entrada.
Retornos¶
Retorna uma cadeia de caracteres
com o valor associado ao nome da variável SQL ERROR_LINE
.
Exemplo de uso¶
Entrada:
SELECT ERROR_LINE_UDF();
Saída:
null -- No information set.
FUNCTION_OBJECT_ID_UDF (VARCHAR)¶
Definição¶
Essa função definida pelo usuário (UDF) verifica se uma função com um nome específico foi criada anteriormente.
VIEW_OBJECT_ID_UDF(NAME VARCHAR)
Parâmetros¶
NAME
VARCHAR
O nome da função a ser avaliada.
Retornos¶
Retorna uma expressão booliana que depende da existência da função.
Exemplo de uso¶
Entrada:
SELECT FUNCTION_OBJECT_ID_UDF('Test');
Saída:
FALSE
CONSTRAINT_OBJECT_ID_UDF (VARCHAR)¶
Definição¶
Essa função definida pelo usuário (UDF) verifica se uma restrição com um nome específico foi criada anteriormente.
CONSTRAINT_OBJECT_ID_UDF(NAME VARCHAR)
Parâmetros¶
NAME
VARCHAR
O nome da restrição a ser avaliada.
Retornos¶
Retorna uma expressão booliana que depende da existência da restrição.
Exemplo de uso¶
Entrada:
SELECT CONSTRAINT_OBJECT_ID_UDF('Test');
Saída:
FALSE
FOR_XML_UDF (OBJECT, VARCHAR, VARCHAR)¶
Definição¶
Essa função definida pelo usuário (UDF) converte um objeto para XML.
FOR_XML_UDF(OBJ OBJECT, ELEMENT_NAME VARCHAR, ROOT_NAME VARCHAR)
Parâmetros¶
OBJ
OBJECT
Objeto a ser convertido.
ELEMENT_NAME
VARCHAR
Nome do elemento a ser atribuído ao objeto.
ROOT_NAME
VARCHAR
O nome da raiz para XML.
Retornos¶
Retorna um varchar no formato de XML.
Exemplo de uso¶
Entrada:
SELECT
FOR_XML_UDF(OBJECT_CONSTRUCT('id', 1, 'name', 'David'), 'employee', 'employees');
Saída:
<employees>
<employee type="OBJECT">
<id type="INTEGER">1</id>
<name type="VARCHAR">David</name>
</employee>
<employees>
OBJECT_ID_UDF (VARCHAR)¶
Definição¶
Essa função definida pelo usuário (UDF) verifica se um objeto com um nome específico foi criado anteriormente.
OBJECT_ID_UDF(NAME VARCHAR)
Parâmetros¶
NAME
VARCHAR
O nome do objeto a ser avaliado.
Retornos¶
Retorna uma expressão booliana que depende da existência do objeto.
Exemplo de uso¶
Entrada:
SELECT OBJECT_ID_UDF('Test');
Saída:
FALSE
PROCEDURE_OBJECT_ID_UDF (VARCHAR)¶
Definição¶
Essa função definida pelo usuário (UDF) verifica se um procedimento com um nome específico foi criado anteriormente.
PROCEDURE_OBJECT_ID_UDF(NAME VARCHAR)
Parâmetros¶
NAME
VARCHAR
O nome do procedimento a ser avaliado.
Retornos¶
Retorna uma expressão booliana que depende da existência do procedimento.
Exemplo de uso¶
Entrada:
SELECT PROCEDURE_OBJECT_ID_UDF('Test');
Saída:
FALSE
ISDATE_UDF¶
Definição¶
Essa função definida pelo usuário (UDF) determina se o valor de entrada é uma data válida.
ISDATE_UDF(DATE_VALUE STRING)
Parâmetros¶
DATE_VALUE
STRING
A data que será avaliada.
Retornos¶
Retorna 1 quando a expressão de entrada é avaliada como um tipo de dados de data válido; caso contrário, retorna 0.
Exemplo de uso¶
Entrada:
SELECT ISDATE_UDF('2024-01-26');
Saída:
1
ERROR_NUMBER_UDF¶
Definição¶
Essa função definida pelo usuário (UDF) retorna o valor associado ao nome da variável SQL ERROR_NUMBER
.
ERROR_NUMBER_UDF()
Parâmetros¶
Não há parâmetros de entrada.
Retornos¶
Retorna uma cadeia de caracteres
com o valor associado ao nome da variável SQL ERROR_NUMBER
.
Exemplo de uso¶
Entrada:
SELECT ERROR_NUMBER_UDF();
Saída:
null -- No information set.
OFFSET_FORMATTER (VARCHAR)¶
Definição¶
Essa função definida pelo usuário (UDF) é uma função auxiliar para formatar a hora de deslocamento e seu operador de prefixo.
OFFSET_FORMATTER(offset_hrs VARCHAR)
Parâmetros¶
offset_hrs
VARCHAR
O valor a ser formatado.
Retornos¶
Retorna um valor varchar com a saída formatada para o deslocamento.
Exemplo de uso¶
Entrada:
SELECT OFFSET_FORMATTER('2024-01-26 22:00:50.708 -0800');
Saída:
2024-01-26 22:00:50.708 -0800
OPENXML_UDF¶
Definição¶
Essa função definida pelo usuário (UDF) gera uma consulta a partir de uma leitura XML.
OPENXML_UDF(XML VARCHAR, PATH VARCHAR)
Parâmetros¶
XML
VARCHAR
O conteúdo do XML como um varchar
.
PATH
VARCHAR
O caminho do nó a ser extraído.
Retornos¶
Retorna uma tabela com os dados gerados pela leitura do XML.
Exemplo de uso¶
Entrada:
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'));
Saída:
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)¶
Definição¶
Essa função definida pelo usuário (UDF) cria um identificador delimitado válido SQL Server, retornando uma cadeia de caracteres Unicode com os delimitadores adicionados.
QUOTENAME_UDF(STR VARCHAR, QUOTECHAR VARCHAR)
Parâmetros¶
STR
VARCHAR
A cadeia de caracteres a ser transformada.
QUOTECHAR
VARCHAR
O delimitador a ser adicionado ao primeiro parâmetro.
Retornos¶
Retorna um varchar com o identificador do segundo parâmetro adicionado como delimitador.
Exemplo de uso¶
Entrada:
SELECT QUOTENAME_UDF('test', '?');
Saída:
?test?
UPDATE_ERROR_VARS_UDF (STRING, STRING, STRING)¶
Definição¶
Essa função definida pelo usuário (UDF) atualiza as variáveis de erro em um ambiente para saber quando o procedimento gera um erro.
UPDATE_ERROR_VARS_UDF(MESSAGE STRING, SEVERITY STRING, STATE STRING)
Parâmetros¶
STATE
STRING
O estado da mensagem de erro.
MESSAGE
STRING
A mensagem a ser exibida no erro.
SEVERITY
STRING
A gravidade do erro.
Retornos¶
Retorna um valor string
com as informações da nova mensagem de erro.
Exemplo de uso¶
Entrada:
SELECT UPDATE_ERROR_VARS_UDF('Message', '1', '1');
Saída:
1ABC1
ROUND_MILLISECONDS_UDF (TIMESTAMP_TZ)¶
Definição¶
Essa função definida pelo usuário (UDF) é uma função que arredonda os milissegundos para incrementos de 0, 3 ou 7 milissegundos. O Transact arredonda automaticamente os milissegundos dos valores de data e hora.
ROUND_MILLISECONDS_UDF(INPUT TIMESTAMP_TZ)
Parâmetros¶
INPUT
TIMESTAMP_TZ
O tempo de entrada a ser arredondado.
Retornos¶
Retorna o mesmo valor de entrada TIMESTAMP_TZ
, mas com os milissegundos arredondados.
Exemplo de uso¶
Entrada:
SELECT PUBLIC.ROUND_MILLISECONDS_UDF('1900-01-01 00:00:00.995 +0100')
Saída:
'1900-01-01 00:00:00.997 +0100'
CAST_NUMERIC_TO_TIMESTAMP_TZ_UDF (NUMBER)¶
Definição¶
Essa função definida pelo usuário (UDF) é usada para converter um valor numérico para timestamp_tz
.
CAST_NUMERIC_TO_TIMESTAMP_TZ_UDF(INPUT NUMBER)
Parâmetros¶
INPUT
NUMBER
O número a ser lançado.
Retornos¶
Retorna um timestamp_tz
com o fuso horário atual.
Exemplo de uso¶
Entrada:
SELECT PUBLIC.CAST_NUMERIC_TO_TIMESTAMP_TZ_UDF(0)
Saída:
1900-01-01 01:00:00.000 +0100
IDENTITY_UDF¶
Definição¶
Essa função definida pelo usuário (UDF) determina se uma expressão é um tipo numérico válido.
IDENTITY_UDF()
Parâmetros¶
Não há parâmetros de entrada.
Retornos¶
Retorna uma expressão inteira.
Exemplo de uso¶
Aviso
Uma sequência é gerada para apoiar a lógica.
Entrada:
IDENTITY_UDF()
Saída:
1
FOR_XML_UDF (OBJECT, VARCHAR)¶
Definição¶
Essa função definida pelo usuário (UDF) converte um objeto para XML.
FOR_XML_UDF(OBJ OBJECT, ELEMENT_NAME VARCHAR)
Parâmetros¶
OBJ
OBJECT
Objeto a ser convertido.
ELEMENT_NAME
VARCHAR
Nome do elemento a ser atribuído ao objeto.
Retornos¶
Retorna um varchar no formato de XML.
Exemplo de uso¶
Entrada:
SELECT
FOR_XML_UDF(OBJECT_CONSTRUCT('id', 1, 'name', 'David'), 'employee');
Saída:
<employee type="OBJECT">
<id type="INTEGER">1</id>
<name type="VARCHAR">David</name>
</employee>
QUOTENAME_UDF (VARCHAR)¶
Definição¶
Essa função definida pelo usuário (UDF) cria um identificador delimitado válido SQL Server, retornando uma cadeia de caracteres Unicode com os delimitadores adicionados.
QUOTENAME_UDF(STR VARCHAR)
Parâmetros¶
STR
VARCHAR
A cadeia de caracteres a ser transformada.
Retornos¶
Retorna um varchar com o identificador delimitado adicionado.
Exemplo de uso¶
Entrada:
SELECT QUOTENAME_UDF('test');
Saída:
"test"
VIEW_OBJECT_ID_UDF (VARCHAR)¶
Definição¶
Essa função definida pelo usuário (UDF) verifica se uma exibição com um nome específico foi criada anteriormente.
VIEW_OBJECT_ID_UDF(NAME VARCHAR)
Parâmetros¶
NAME
VARCHAR
O nome da exibição a ser avaliada.
Retornos¶
Retorna uma expressão booliana que depende da existência da exibição.
Exemplo de uso¶
Entrada:
SELECT VIEW_OBJECT_ID_UDF('Test');
Saída:
FALSE
SUBTRACT_TIMESTAMP_TZ_UDF (TIMESTAMP_TZ, TIMESTAMP_TZ)¶
Definição¶
Essa função definida pelo usuário (UDF) converte ambas as entradas para o fuso horário da sessão do sistema e subtrai as datas (FIRST_DATE
- SECOND_DATE
) tomando 1900-01-01 00:00:00.000 como valor zero. Se algum valor não incluir o fuso horário, será usado o fuso horário da sessão atual.
PUBLIC.SUBTRACT_TIMESTAMP_TZ_UDF(FIRST_DATE TIMESTAMP_TZ, SECOND_DATE TIMESTAMP_TZ)
Parâmetros¶
FIRST_DATE
TIMESTAMP_TZ
A primeira data a ser subtraída.
SECOND_DATE
TIMESTAMP_TZ
A segunda data a ser subtraída.
Retornos¶
Retorna a diferença entre as duas datas de entrada.
Exemplo de uso¶
Entrada:
SELECT SUBTRACT_TIMESTAMP_TZ_UDF('1900-01-01 00:00:00.000 +0100', '1900-01-01 00:00:00.003 -0100')
Saída:
1899-12-31 13:59:59.997 -0800
STR_UDF (FLOAT, VARCHAR)¶
Definição¶
Essa função definida pelo usuário (UDF) é um modelo para traduzir a funcionalidade do SQL Server STR() para o Snowflake quando ele é usado com um ou dois parâmetros opcionais
STR_UDF(FLOAT_EXPR FLOAT, FORMAT VARCHAR)
Parâmetros¶
FLOAT_EXPR
FLOAT
A expressão a ser processada.
FORMAT
VARCHAR
O formato a aplicar.
Retornos¶
Retorna um varchar com a expressão formatada.
Exemplo de uso¶
Entrada:
SELECT STR_UDF(1.5, '99');
Saída:
2
XML_JSON_SIMPLE¶
Definição¶
Essa função definida pelo usuário (UDF) gera um objeto com as informações da execução de uma leitura de um valor XML.
XML_JSON_SIMPLE(XML VARIANT)
Parâmetros¶
XML
VARIANT
O XML a ser lido.
Retornos¶
Retorna um objeto com as informações processadas do XML.
Exemplo de uso¶
Entrada:
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>
')));
Saída:
{
"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¶
Definição¶
Essa função definida pelo usuário (UDF) fornece a funcionalidade da função SQL Server FORMATMESSAGE. Constrói uma mensagem a partir de uma mensagem existente de uma cadeia de caracteres fornecida.
FORMATMESSAGE_UDF(MESSAGE STRING, ARGS ARRAY)
Parâmetros¶
MESSAGE
STRING
A cadeia de caracteres de mensagem existente.
ARGS
ARRAY
Os argumentos a serem adicionados na primeira cadeia de caracteres de mensagem.
Retornos¶
Retorna uma cadeia de caracteres com a mensagem concatenada correspondente relacionada às posições do argumento.
Exemplo de uso¶
Entrada:
SELECT FORMATMESSAGE_UDF('Test %s!', TO_ARRAY('a'));
Saída:
Test a!
IS_MEMBER_UDF¶
Definição¶
Essa função definida pelo usuário (UDF) determina a associação ao grupo de janelas examinando um token de acesso.
IS_MEMBER_UDF(ROLE STRING)
Parâmetros¶
ROLE
STRING
O nome da função a ser verificada.
Retornos¶
Retorna uma expressão booliana verdadeira quando o usuário atual é um membro da função; caso contrário, retorna falso.
Exemplo de uso¶
Entrada:
SELECT IS_MEMBER_UDF('TEST');
Saída:
FALSE
RAISERROR_UDF (DOUBLE, DOUBLE, DOUBLE, ARRAY)¶
Definição¶
Essa função definida pelo usuário (UDF) lança uma exceção com uma mensagem específica.
RAISERROR_UDF(MSG_ID DOUBLE, SEVERITY DOUBLE, STATE DOUBLE, PARAMS ARRAY)
Parâmetros¶
MSG_ID
DOUBLE
A ID da mensagem de erro.
SEVERITY
DOUBLE
O número de gravidade do erro.
STATE
DOUBLE
O número do estado da mensagem de erro.
PARAMS
ARRAY
As informações adicionais da mensagem de erro.
Retornos¶
Retorna um varchar com uma mensagem de erro.
Exemplo de uso¶
Entrada:
SELECT RAISERROR_UDF(2.1, 1.6, 1.0, array_construct('More information'));
Saída:
MESSAGE: 2.1, LEVEL: 1.6, STATE: 1
STR_UDF(FLOAT)¶
Definição¶
Essa função definida pelo usuário (UDF) é um modelo para traduzir a funcionalidade do SQL Server STR() para o Snowflake quando ele é usado com um ou dois parâmetros opcionais
STR_UDF(FLOAT_EXPR FLOAT, FORMAT VARCHAR)
Parâmetros¶
FLOAT_EXPR
FLOAT
A expressão a ser processada.
Retornos¶
Retorna um varchar com a expressão formatada.
Exemplo de uso¶
Entrada:
SELECT STR_UDF(1.5);
Saída:
2
SWITCHOFFSET_UDF (TIMESTAMP_TZ, VARCHAR)¶
Definição¶
Essa função definida pelo usuário (UDF) retorna um novo timestamp_tz com o tempo ajustado para o parâmetro target_tz.
SWITCHOFFSET_UDF(source_timestamp TIMESTAMP_TZ, target_tz varchar)
Parâmetros¶
source_timestamp
TIMESTAMP_TZ
O registro de data e hora de origem a ser ajustado.
target_tz
varchar
O tempo de destino a ser usado.
Retornos¶
Retorna a hora-alvo formatada como TIMESTAMP_TZ.
Exemplo de uso¶
Entrada:
SELECT SWITCHOFFSET_UDF(time_in_paris, '-0600') as time_in_costa_rica;
Saída:
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¶
Definição¶
Essa função definida pelo usuário (UDF) obtém a sessão atual ou o fuso horário do sistema como um literal.
GET_CURRENT_TIMEZONE_UDF()
Parâmetros¶
Sem parâmetros.
Retornos¶
Retorna um valor literal com a sessão atual ou o fuso horário do sistema como um literal.
Exemplo de uso¶
Entrada:
SELECT PUBLIC.GET_CURRENT_TIMEZONE_UDF();
Saída:
'Europe/London'
UPDATE_ERROR_VARS_UDF (STRING, STRING, STRING, STRING, STRING, STRING)¶
Definição¶
Essa função definida pelo usuário (UDF) atualiza as variáveis de erro em um ambiente para saber quando o procedimento gera um erro.
UPDATE_ERROR_VARS_UDF(LINE STRING,CODE STRING, STATE STRING, MESSAGE STRING, PROC_NAME STRING, SEVERITY STRING)
Parâmetros¶
LINE
STRING
A linha relacionada ao erro.
CODE
STRING
O código de erro associado à mensagem de erro.
STATE
STRING
O estado da mensagem de erro.
MESSAGE
STRING
A mensagem a ser exibida no erro.
PROC_NAME
STRING
O nome do procedimento.
SEVERITY
STRING
A gravidade do erro.
Retornos¶
Retorna um valor string
com as informações da nova mensagem de erro.
Exemplo de uso¶
Entrada:
SELECT UPDATE_ERROR_VARS_UDF('1', '1', '1', 'ABC', 'TEST', '1');
Saída:
111ABCTEST1
SEQUENCE_OBJECT_ID_UDF (VARCHAR)¶
Definição¶
Essa função definida pelo usuário (UDF) verifica se uma sequência com um nome específico foi criada anteriormente.
SEQUENCE_OBJECT_ID_UDF(NAME VARCHAR)
Parâmetros¶
NAME
VARCHAR
O nome da sequência a ser avaliada.
Retornos¶
Retorna uma expressão booliana que depende da existência da sequência.
Exemplo de uso¶
Entrada:
SELECT SEQUENCE_OBJECT_ID_UDF('Test');
Saída:
FALSE
CAST_TIMESTAMP_TZ_TO_NUMERIC_UDF (TIMESTAMP_TZ)¶
Definição¶
Essa função definida pelo usuário (UDF) é usada para converter timestamp_tz
em numérico. Ela converte o fuso horário atual para UTC porque o valor numérico não pode salvar as informações do carimbo de data/hora
.
CAST_TIMESTAMP_TZ_TO_NUMERIC_UDF(INPUT TIMESTAMP_TZ)
Parâmetros¶
INPUT
TIMESTAMP_TZ
A entrada de carimbo de data/hora
que será lançada.
Retornos¶
Retorna um número com um ponto decimal. A parte inteira representa o número de dias a partir de 1900-01-01 e a parte decimal é a porcentagem de milissegundos em 24 horas.
Exemplo de uso¶
Entrada:
SELECT PUBLIC.CAST_TIMESTAMP_TZ_TO_NUMERIC_UDF('1900-01-01 01:00:00.000 +0100')
Saída:
0
RAISERROR_UDF (VARCHAR, DOUBLE, DOUBLE, ARRAY)¶
Definição¶
Essa função definida pelo usuário (UDF) lança uma exceção com uma mensagem específica.
RAISERROR_UDF(MSG_TEXT VARCHAR, SEVERITY DOUBLE, STATE DOUBLE, PARAMS ARRAY)
Parâmetros¶
MSG_TEXT
VARCHAR
O texto da mensagem de erro.
SEVERITY
DOUBLE
O número de gravidade do erro.
STATE
DOUBLE
O número do estado da mensagem de erro.
PARAMS
ARRAY
As informações adicionais da mensagem de erro.
Retornos¶
Retorna um varchar com uma mensagem de erro.
Exemplo de uso¶
Entrada:
SELECT RAISERROR_UDF('<\<%*.*s>> TEST', 1.0, 1, array_construct());
Saída:
MESSAGE: <<undefined>> TEST, LEVEL: 1, STATE: 1
PARSENAME_UDF¶
Definição¶
Essa função definida pelo usuário (UDF) obtém o índice PART_NUMBER de uma cadeia de caracteres
separada por '.'
.
PARSENAME_UDF(STR VARCHAR, PART_NUMBER INT)
Parâmetros¶
STR
VARCHAR
O nome do objeto como uma cadeia de caracteres
.
PART_NUMBER
INT
A parte do nome do objeto a ser verificada.
Retornos¶
Retorna a parte especificada de um nome de objeto.
Exemplo de uso¶
Entrada:
SELECT PARSENAME_UDF('Test_A.Test_B.Test_C]', 2);
Saída:
Test_B
ERROR_STATE_UDF¶
Definição¶
Essa função definida pelo usuário (UDF) obtém o estado de erro independentemente do número de vezes que é executada ou de onde é executada no escopo do bloco CATCH
.
ERROR_STATE_UDF()
Parâmetros¶
Não há parâmetros de entrada.
Retornos¶
Retorna a cadeia de caracteres `` com o estado de erro, independentemente de quantas vezes for executada ou de onde for executada no escopo do bloco CATCH
.
Exemplo de uso¶
Entrada:
SELECT ERROR_STATE_UDF();
Saída:
null -- No information set.
CAST_TIME_TO_TIMESTAMP_TZ_UDF (TIME)¶
Definição¶
Essa função definida pelo usuário (UDF) converte time
para timestamp_tz
.
CAST_TIME_TO_TIMESTAMP_TZ_UDF(INPUT TIME)
Parâmetros¶
INPUT
TIME
A hora de entrada a ser convertida para timestamp_tz
.
Retornos¶
Retorna um timestamp_tz
com a data como 1900-01-01 e a mesma hora da entrada.
Exemplo de uso¶
Entrada:
SELECT PUBLIC.CAST_TIME_TO_TIMESTAMP_TZ_UDF('00:00:00.995')
Saída:
1900-01-01 00:00:00.997
SUM_TIMESTAMP_TZ_UDF (TIMESTAMP_TZ, TIMESTAMP_TZ)¶
Definição¶
Essa função definida pelo usuário (UDF) converte ambas as entradas para o fuso horário do sistema ou da sessão e soma as datas considerando 1900-01-01 00:00:00.000 como o valor zero. Se algum valor não incluir o fuso horário, será usado o fuso horário da sessão atual.
SUM_TIMESTAMP_TZ_UDF(FIRST_DATE TIMESTAMP_TZ, SECOND_DATE TIMESTAMP_TZ)
Parâmetros¶
FIRST_DATE
TIMESTAMP_TZ
A primeira data para somar.
SECOND_DATE
TIMESTAMP_TZ
A segunda data para somar.
Retornos¶
Retorna a soma entre as duas datas de entrada.
Exemplo de uso¶
Entrada:
SELECT SUM_TIMESTAMP_TZ_UDF('1900-01-01 00:00:00.000 +0100', '1900-01-01 00:00:00.003 -0100')
Saída:
1900-01-01 00:00:00.003 +0000