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

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

Saída:

1
Copy

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

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

Saída:

2
Copy

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

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

Saída:

null -- No information set.
Copy

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

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

Saída:

SELECT * FROM PERSONS WHERE NAME LIKE ('John Smith') AND ID < 100 AND AGE < 30;
Copy

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

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

Saída:

FALSE
Copy

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

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

Saída:

null -- No information set.
Copy

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

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

Saída:

6
Copy

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

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

Saída:

null -- No information set.
Copy

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

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

Saída:

FALSE
Copy

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

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

Saída:

FALSE
Copy

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

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

Saída:

<employees>
    <employee type="OBJECT">
        <id type="INTEGER">1</id>
        <name type="VARCHAR">David</name>
    </employee>
<employees>
Copy

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

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

Saída:

FALSE
Copy

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

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

Saída:

FALSE
Copy

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

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

Saída:

1
Copy

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

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

Saída:

null -- No information set.
Copy

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

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

Saída:

2024-01-26 22:00:50.708 -0800
Copy

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

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

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

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

Saída:

?test?
Copy

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

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

Saída:

1ABC1
Copy

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

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

Saída:

'1900-01-01 00:00:00.997 +0100'
Copy

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

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

Saída:

1900-01-01 01:00:00.000 +0100
Copy

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

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

Saída:

1
Copy

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

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

Saída:

<employee type="OBJECT">
    <id type="INTEGER">1</id>
    <name type="VARCHAR">David</name>
</employee>
Copy

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

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

Saída:

"test"
Copy

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

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

Saída:

FALSE
Copy

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

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

Saída:

1899-12-31 13:59:59.997 -0800
Copy

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

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

Saída:

2
Copy

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

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

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
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            }
          ]
        }
      }
    ]
  }
}
Copy

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

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

Saída:

Test a!
Copy

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

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

Saída:

FALSE
Copy

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

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

Saída:

MESSAGE: 2.1, LEVEL: 1.6, STATE: 1
Copy

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

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

Saída:

2
Copy

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

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

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

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

Saída:

'Europe/London'
Copy

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

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

Saída:

111ABCTEST1
Copy

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

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

Saída:

FALSE
Copy

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

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

Saída:

0
Copy

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

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

Saída:

MESSAGE: <<undefined>> TEST, LEVEL: 1, STATE: 1
Copy

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

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

Saída:

Test_B
Copy

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

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

Saída:

null -- No information set.
Copy

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

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

Saída:

1900-01-01 00:00:00.997
Copy

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

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

Saída:

1900-01-01 00:00:00.003 +0000
Copy