SnowConvert: Funktionsreferenzen für SQL Server

ISNUMERIC_UDF

Definition

Diese benutzerdefinierte Funktion (User-Defined Function, UDF) bestimmt, ob ein Ausdruck ein gültiger numerischer Typ ist.

ISNUMERIC_UDF(EXPR VARCHAR)
Copy

Parameter

EXPR VARCHAR

Der auszuwertende Ausdruck.

Rückgabewerte

Gibt 1 zurück, wenn der Eingabeausdruck zu einem gültigen numerischen Datentyp ausgewertet wird; andernfalls gibt er 0 zurück.

Verwendungsbeispiel

Eingabe:

SELECT ISNUMERIC_UDF('5');
Copy

Ausgabe:

1
Copy

PATINDEX_UDF

Definition

Diese benutzerdefinierte Funktion (UDF) gibt die Startposition des ersten Vorkommens eines Musters in einem angegebenen Ausdruck zurück oder Nullen, wenn das Muster nicht gefunden wird.

PATINDEX_UDF(PATTERN VARCHAR, EXPRESSION VARCHAR)
Copy

Parameter

PATTERN VARCHAR

Das Muster, nach dem Sie suchen.

EXPRESSION VARCHAR

Der Ausdruck, der gerade ausgewertet wird.

Rückgabewerte

Gibt eine Ganzzahl mit der Startposition des Musters zurück.

Verwendungsbeispiel

Eingabe:

SELECT PATINDEX_UDF('an', 'banana');
Copy

Ausgabe:

2
Copy

ERROR_SEVERITY_UDF

Definition

Diese benutzerdefinierte Funktion (UDF) ruft einen Wert ab, der den Schweregrad eines Fehlers angibt. Der Standardwert ist immer 16.

ERROR_SEVERITY_UDF()
Copy

Parameter

Keine Eingabeparameter.

Rückgabewerte

Gibt eine Zeichenfolge mit dem Wert zurück, der dem SQL-Variablennamen ERROR_SEVERITY zugeordnet ist.

Verwendungsbeispiel

Eingabe:

SELECT ERROR_SEVERITY_UDF();
Copy

Ausgabe:

null -- No information set.
Copy

TRANSFORM_SP_EXECUTE_SQL_STRING_UDF(STRING, STRING, ARRAY, ARRAY)

Definition

Diese benutzerdefinierte Funktion (UDF) emuliert das Verhalten von eingebetteten Parametern (Datenbindung) in der SP_EXECUTESQL-Systemprozedur, indem sie deren Werte direkt in der SQL-Zeichenfolge ersetzt.

Außerdem werden die OUTPUT-Parameter aus der Zeichenfolge entfernt, da dies außerhalb der EXECUTE IMMEDIATE-Prozedur geschieht, in die die SP_EXECUTESQL-Prozedur transformiert wird.

Weitere Informationen finden Sie in der SP_EXECUTESQL-Übersetzungsspezifikation.

TRANSFORM_SP_EXECUTE_SQL_STRING_UDF(
    _SQL_STRING STRING,
    _PARAMS_DEFINITION STRING,
    _PARAMS_NAMES ARRAY,
    _PARAMS_VALUES ARRAY
)
Copy

Parameter

_SQL_STRING STRING

Die umzuwandelnde Zeichenfolge.

_PARAMS_DEFINITION STRING

Die ursprüngliche Parameterdefinition überprüft die Reihenfolge, in der die Parameterwerte zugewiesen werden müssen.

_PARAMS_NAMES ARRAY

Das Array der Parameternamen, die die Werte in der SQL-Zeichenfolge ersetzen sollen.

_PARAMS_VALUES ARRAY

Das Array der Parameterwerte, die in der SQL-Zeichenfolge ersetzt werden sollen.

Rückgabewerte

Gibt einen STRING zurück, in dem die eingebetteten Parameterwerte ersetzt wurden.

Verwendungsbeispiel

Eingabe:

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

Ausgabe:

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

TABLE_OBJECT_ID_UDF (VARCHAR)

Definition

Diese benutzerdefinierte Funktion (UDF) überprüft, ob eine Tabelle mit einem bestimmten Namen schon einmal erstellt worden ist.

TABLE_OBJECT_ID_UDF(NAME VARCHAR)
Copy

Parameter

NAME VARCHAR

Der Tabellenname, der ausgewertet werden soll.

Rückgabewerte

Gibt einen booleschen Ausdruck zurück, der vom Vorhandensein der Tabelle abhängt.

Verwendungsbeispiel

Eingabe:

SELECT TABLE_OBJECT_ID_UDF('Test');
Copy

Ausgabe:

FALSE
Copy

ERROR_PROCEDURE_UDF

Definition

Diese benutzerdefinierte Funktion (UDF) gibt den Wert zurück, der dem SQL-Variablennamen ERROR_PROCEDURE zugeordnet ist.

ERROR_PROCEDURE_UDF()
Copy

Parameter

Keine Eingabeparameter.

Rückgabewerte

Gibt eine Zeichenfolge mit dem Wert zurück, der dem SQL-Variablennamen ERROR_PROCEDURE zugeordnet ist.

Verwendungsbeispiel

Eingabe:

SELECT ERROR_PROCEDURE_UDF();
Copy

Ausgabe:

null -- No information set.
Copy

DB_ID_UDF(STRING)

Definition

Diese benutzerdefinierte Funktion (UDF) emuliert die Funktionalität von DB_ID.

DB_ID_UDF(p_database_name STRING)
Copy

Parameter

p_datenbank_name STRING

Der Name der Datenbank, deren ID abgerufen werden soll.

Rückgabewerte

Gibt eine ID zurück, die der Nummer entspricht, die der Datenbank bei ihrer Erstellung zugewiesen wurde. Diese Nummer wird fortlaufend vergeben.

Verwendungsbeispiel

Eingabe:

SELECT DB_ID_UDF('MY_DATABASE')
Copy

Ausgabe:

6
Copy

Warnung

Wenn die Datenbank nicht existiert, wird null zurückgegeben.

ERROR_LINE_UDF

Definition

Diese benutzerdefinierte Funktion (UDF) gibt den Wert zurück, der dem SQL-Variablennamen ERROR_LINE zugeordnet ist.

ERROR_LINE_UDF()
Copy

Parameter

Keine Eingabeparameter.

Rückgabewerte

Gibt eine Zeichenfolge mit dem Wert zurück, der dem SQL-Variablennamen ERROR_LINE zugeordnet ist.

Verwendungsbeispiel

Eingabe:

SELECT ERROR_LINE_UDF();
Copy

Ausgabe:

null -- No information set.
Copy

FUNCTION_OBJECT_ID_UDF (VARCHAR)

Definition

Diese benutzerdefinierte Funktion (UDF) überprüft, ob eine Funktion mit einem bestimmten Namen bereits erstellt wurde.

VIEW_OBJECT_ID_UDF(NAME VARCHAR)
Copy

Parameter

NAME VARCHAR

Der Funktionsname, der überprüft werden soll.

Rückgabewerte

Gibt einen booleschen Ausdruck zurück, der vom Vorhandensein der Funktion abhängt.

Verwendungsbeispiel

Eingabe:

SELECT FUNCTION_OBJECT_ID_UDF('Test');
Copy

Ausgabe:

FALSE
Copy

CONSTRAINT_OBJECT_ID_UDF (VARCHAR)

Definition

Diese benutzerdefinierte Funktion (UDF) überprüft, ob eine Einschränkung mit einem bestimmten Namen bereits erstellt wurde.

CONSTRAINT_OBJECT_ID_UDF(NAME VARCHAR)
Copy

Parameter

NAME VARCHAR

Der Einschränkungsname, der überprüft werden soll.

Rückgabewerte

Gibt einen booleschen Ausdruck zurück, der vom Vorhandensein der Einschränkung abhängt.

Verwendungsbeispiel

Eingabe:

SELECT CONSTRAINT_OBJECT_ID_UDF('Test');
Copy

Ausgabe:

FALSE
Copy

FOR_XML_UDF (OBJECT, VARCHAR, VARCHAR)

Definition

Diese benutzerdefinierte Funktion (UDF) konvertiert ein Objekt in XML.

FOR_XML_UDF(OBJ OBJECT, ELEMENT_NAME VARCHAR, ROOT_NAME VARCHAR)
Copy

Parameter

OBJ OBJECT

Zu konvertierendes Objekt.

ELEMENT_NAME VARCHAR

Elementname, den das Objekt erhalten soll.

ROOT_NAME VARCHAR

Der Stammname für XML.

Rückgabewerte

Gibt ein varchar im XML-Format zurück.

Verwendungsbeispiel

Eingabe:

SELECT
FOR_XML_UDF(OBJECT_CONSTRUCT('id', 1, 'name', 'David'), 'employee', 'employees');
Copy

Ausgabe:

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

OBJECT_ID_UDF (VARCHAR)

Definition

Diese benutzerdefinierte Funktion (UDF) überprüft, ob ein Objekt mit einem bestimmten Namen schon einmal erstellt worden ist.

OBJECT_ID_UDF(NAME VARCHAR)
Copy

Parameter

NAME VARCHAR

Der Objektname, das überprüft werden soll.

Rückgabewerte

Gibt einen booleschen Ausdruck zurück, der vom Vorhandensein des Objekts abhängt.

Verwendungsbeispiel

Eingabe:

SELECT OBJECT_ID_UDF('Test');
Copy

Ausgabe:

FALSE
Copy

PROCEDURE_OBJECT_ID_UDF (VARCHAR)

Definition

Diese benutzerdefinierte Funktion (UDF) überprüft, ob eine Prozedur mit einem bestimmten Namen schon einmal erstellt worden ist.

PROCEDURE_OBJECT_ID_UDF(NAME VARCHAR)
Copy

Parameter

NAME VARCHAR

Der Prozedurname, der überprüft werden soll.

Rückgabewerte

Gibt einen booleschen Ausdruck zurück, der vom Vorhandensein der Prozedur abhängt.

Verwendungsbeispiel

Eingabe:

SELECT PROCEDURE_OBJECT_ID_UDF('Test');
Copy

Ausgabe:

FALSE
Copy

ISDATE_UDF

Definition

Diese benutzerdefinierte Funktion (UDF) bestimmt, ob der Eingabewert ein gültiges Datum ist.

ISDATE_UDF(DATE_VALUE STRING)
Copy

Parameter

DATE_VALUE STRING

Das Datum, das ausgewertet werden soll.

Rückgabewerte

Gibt 1 zurück, wenn der Eingabeausdruck als gültiger Datumsdatentyp ausgewertet wird; gibt andernfalls 0 zurück.

Verwendungsbeispiel

Eingabe:

SELECT ISDATE_UDF('2024-01-26');
Copy

Ausgabe:

1
Copy

ERROR_NUMBER_UDF

Definition

Diese benutzerdefinierte Funktion (UDF) gibt den Wert zurück, der dem SQL-Variablennamen ERROR_NUMBER zugeordnet ist.

ERROR_NUMBER_UDF()
Copy

Parameter

Keine Eingabeparameter.

Rückgabewerte

Gibt eine Zeichenfolge mit dem Wert zurück, der dem SQL-Variablennamen ERROR_NUMBER zugeordnet ist.

Verwendungsbeispiel

Eingabe:

SELECT ERROR_NUMBER_UDF();
Copy

Ausgabe:

null -- No information set.
Copy

OFFSET_FORMATTER (VARCHAR)

Definition

Diese benutzerdefinierte Funktion (UDF) ist eine Hilfsfunktion zur Formatierung der Offset-Stunde und ihres Präfix-Operators.

OFFSET_FORMATTER(offset_hrs VARCHAR)
Copy

Parameter

offset_hrs VARCHAR

Der Wert, der formatiert werden soll.

Rückgabewerte

Gibt einen varchar-Wert mit der formatierten Ausgabe für den Offset zurück.

Verwendungsbeispiel

Eingabe:

 SELECT OFFSET_FORMATTER('2024-01-26 22:00:50.708 -0800');
Copy

Ausgabe:

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

OPENXML_UDF

Definition

Diese benutzerdefinierte Funktion (UDF) erzeugt eine Abfrage aus einer XML-Auslesung.

OPENXML_UDF(XML VARCHAR, PATH VARCHAR)
Copy

Parameter

XML VARCHAR

Der XML-Inhalt als varchar.

PATH VARCHAR

Der Pfad des zu extrahierenden Knotens.

Rückgabewerte

Gibt eine Tabelle mit den Daten zurück, die durch die XML-Auslesung generiert wurden.

Verwendungsbeispiel

Eingabe:

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

Ausgabe:

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)

Definition

Diese benutzerdefinierte Funktion (UDF) erstellt einen gültigen durch Trennzeichen getrennten SQL Server-Bezeichner, indem sie eine Unicode-Zeichenfolge mit den hinzugefügten Trennzeichen zurückgibt.

QUOTENAME_UDF(STR VARCHAR, QUOTECHAR VARCHAR)
Copy

Parameter

STR VARCHAR

Die umzuwandelnde Zeichenfolge.

QUOTECHAR VARCHAR

Das Trennzeichen, das dem ersten Parameter hinzugefügt wird.

Rückgabewerte

Gibt ein varchar zurück, wobei das zweite Parametertrennzeichen als Trennzeichen hinzugefügt wurde.

Verwendungsbeispiel

Eingabe:

SELECT QUOTENAME_UDF('test', '?');
Copy

Ausgabe:

?test?
Copy

UPDATE_ERROR_VARS_UDF (STRING, STRING, STRING)

Definition

Diese benutzerdefinierte Funktion (UDF) aktualisiert die Fehlervariablen in einer Umgebung, damit Sie wissen, wann die Prozedur einen Fehler auslöst.

UPDATE_ERROR_VARS_UDF(MESSAGE STRING, SEVERITY STRING, STATE STRING)
Copy

Parameter

STATE STRING

Der Status der Fehlermeldung.

MESSAGE STRING

Die Nachricht, die in der Fehlermeldung angezeigt werden soll.

SEVERITY STRING

Der Schweregrad des Fehlers.

Rückgabewerte

Gibt einen Zeichenfolgenwert mit den neuen Fehlermeldungsinformationen zurück.

Verwendungsbeispiel

Eingabe:

  SELECT UPDATE_ERROR_VARS_UDF('Message', '1', '1');
Copy

Ausgabe:

1ABC1
Copy

ROUND_MILLISECONDS_UDF (TIMESTAMP_TZ)

Definition

Diese benutzerdefinierte Funktion (UDF) rundet die Millisekunden in Schritten von 0, 3 oder 7 Millisekunden. Transact rundet automatisch die Millisekunden von Datetime-Werten.

ROUND_MILLISECONDS_UDF(INPUT TIMESTAMP_TZ)
Copy

Parameter

INPUT TIMESTAMP_TZ

Die zu rundende Eingabezeit.

Rückgabewerte

Gibt denselben TIMESTAMP_TZ-Eingabewert, aber mit gerundeten Millisekunden zurück.

Verwendungsbeispiel

Eingabe:

SELECT PUBLIC.ROUND_MILLISECONDS_UDF('1900-01-01 00:00:00.995 +0100')
Copy

Ausgabe:

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

CAST_NUMERIC_TO_TIMESTAMP_TZ_UDF (NUMBER)

Definition

Diese benutzerdefinierte Funktion (UDF) wird verwendet, um einen numerischen Wert in timestamp_tz umzuwandeln.

CAST_NUMERIC_TO_TIMESTAMP_TZ_UDF(INPUT NUMBER)
Copy

Parameter

INPUT NUMBER

Die umzuwandelnde Zahl.

Rückgabewerte

Gibt einen timestamp_tz-Wert mit der aktuellen Zeitzone zurück.

Verwendungsbeispiel

Eingabe:

SELECT PUBLIC.CAST_NUMERIC_TO_TIMESTAMP_TZ_UDF(0)
Copy

Ausgabe:

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

IDENTITY_UDF

Definition

Diese benutzerdefinierte Funktion (User-Defined Function, UDF) bestimmt, ob ein Ausdruck ein gültiger numerischer Typ ist.

IDENTITY_UDF()
Copy

Parameter

Keine Eingabeparameter.

Rückgabewerte

Gibt einen ganzzahligen Ausdruck zurück.

Verwendungsbeispiel

Warnung

Zur Unterstützung der Logik wird eine Sequenz generiert.

Eingabe:

IDENTITY_UDF()
Copy

Ausgabe:

1
Copy

FOR_XML_UDF (OBJECT, VARCHAR)

Definition

Diese benutzerdefinierte Funktion (UDF) konvertiert ein Objekt in XML.

FOR_XML_UDF(OBJ OBJECT, ELEMENT_NAME VARCHAR)
Copy

Parameter

OBJ OBJECT

Zu konvertierendes Objekt.

ELEMENT_NAME VARCHAR

Elementname, den das Objekt erhalten soll.

Rückgabewerte

Gibt ein varchar im XML-Format zurück.

Verwendungsbeispiel

Eingabe:

SELECT
FOR_XML_UDF(OBJECT_CONSTRUCT('id', 1, 'name', 'David'), 'employee');
Copy

Ausgabe:

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

QUOTENAME_UDF (VARCHAR)

Definition

Diese benutzerdefinierte Funktion (UDF) erstellt einen gültigen durch Trennzeichen getrennten SQL Server-Bezeichner, indem sie eine Unicode-Zeichenfolge mit den hinzugefügten Trennzeichen zurückgibt.

QUOTENAME_UDF(STR VARCHAR)
Copy

Parameter

STR VARCHAR

Die umzuwandelnde Zeichenfolge.

Rückgabewerte

Gibt ein varchar zurück, dem ein durch Trennzeichen getrennter Bezeichner hinzugefügt wurde.

Verwendungsbeispiel

Eingabe:

SELECT QUOTENAME_UDF('test');
Copy

Ausgabe:

"test"
Copy

VIEW_OBJECT_ID_UDF (VARCHAR)

Definition

Diese benutzerdefinierte Funktion (UDF) überprüft, ob eine Ansicht mit einem bestimmten Namen schon einmal erstellt worden ist.

VIEW_OBJECT_ID_UDF(NAME VARCHAR)
Copy

Parameter

NAME VARCHAR

Der zu überprüfende Ansichtsname.

Rückgabewerte

Gibt einen booleschen Ausdruck zurück, der vom Vorhandensein der Ansicht abhängt.

Verwendungsbeispiel

Eingabe:

SELECT VIEW_OBJECT_ID_UDF('Test');
Copy

Ausgabe:

FALSE
Copy

SUBTRACT_TIMESTAMP_TZ_UDF (TIMESTAMP_TZ, TIMESTAMP_TZ)

Definition

Diese benutzerdefinierte Funktion (UDF) konvertiert beide Eingaben in die Zeitzone der Systemsitzung und subtrahiert die Datumsangaben (FIRST_DATE - SECOND_DATE), wobei 1900-01-01 00:00:00.000 als Nullwert verwendet wird. Wenn ein Wert die Zeitzone nicht enthält, wird die Zeitzone der aktuellen Sitzung verwendet.

PUBLIC.SUBTRACT_TIMESTAMP_TZ_UDF(FIRST_DATE TIMESTAMP_TZ, SECOND_DATE TIMESTAMP_TZ)
Copy

Parameter

FIRST_DATE TIMESTAMP_TZ

Das erste Datum, von dem subtrahiert wird.

SECOND_DATE TIMESTAMP_TZ

Das zweite Datum, von dem subtrahiert wird.

Rückgabewerte

Gibt die Differenz zwischen den beiden Eingabedatumsangaben zurück.

Verwendungsbeispiel

Eingabe:

SELECT SUBTRACT_TIMESTAMP_TZ_UDF('1900-01-01 00:00:00.000 +0100', '1900-01-01 00:00:00.003 -0100')
Copy

Ausgabe:

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

STR_UDF (FLOAT, VARCHAR)

Definition

Diese benutzerdefinierte Funktion (UDF) ist eine Vorlage für die Übersetzung der Funktionalität von SQL Server-STR() in Snowflake, wenn sie mit einem oder zwei optionalen Parametern verwendet wird

STR_UDF(FLOAT_EXPR FLOAT, FORMAT VARCHAR)
Copy

Parameter

FLOAT_EXPR FLOAT

Der zu verarbeitende Ausdruck.

FORMAT VARCHAR

Das anzuwendende Format.

Rückgabewerte

Gibt ein varchar mit dem formatierten Ausdruck zurück.

Verwendungsbeispiel

Eingabe:

SELECT STR_UDF(1.5, '99');
Copy

Ausgabe:

2
Copy

XML_JSON_SIMPLE

Definition

Diese benutzerdefinierte Funktion (UDF) generiert ein Objekt mit den Informationen aus dem ausgelesenen XML-Wert.

XML_JSON_SIMPLE(XML VARIANT)
Copy

Parameter

XML VARIANT

Das zu lesende XML.

Rückgabewerte

Gibt ein Objekt mit den verarbeiteten Informationen aus dem XML zurück.

Verwendungsbeispiel

Eingabe:

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

Ausgabe:

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

Definition

Diese benutzerdefinierte Funktion (UDF) bietet die Funktionalität der SQL Server-Funktion FORMATMESSAGE. Es konstruiert aus einer angegebenen Zeichenfolge eine Meldung aus einer vorhanden Meldung.

FORMATMESSAGE_UDF(MESSAGE STRING, ARGS ARRAY)
Copy

Parameter

MESSAGE STRING

Die vorhandene Meldungszeichenfolge.

ARGS ARRAY

Die Argumente, die der ersten Meldungszeichenfolge hinzugefügt werden sollen.

Rückgabewerte

Gibt eine Zeichenfolge mit der entsprechenden verketteten Meldung in Bezug zu den Positionen des Arguments zurück.

Verwendungsbeispiel

Eingabe:

SELECT FORMATMESSAGE_UDF('Test %s!', TO_ARRAY('a'));
Copy

Ausgabe:

Test a!
Copy

IS_MEMBER_UDF

Definition

Diese benutzerdefinierte Funktion (UDF) bestimmt die Windows-Gruppenmitgliedschaft durch Prüfung eines Zugriffstokens.

IS_MEMBER_UDF(ROLE STRING)
Copy

Parameter

ROLE STRING

Der zu überprüfende Rollenname.

Rückgabewerte

Gibt für true einen booleschen Ausdruck zurück, wenn der aktuelle Benutzer ein Mitglied der Rolle ist; andernfalls wird false zurückgegeben.

Verwendungsbeispiel

Eingabe:

SELECT IS_MEMBER_UDF('TEST');
Copy

Ausgabe:

FALSE
Copy

RAISERROR_UDF (DOUBLE, DOUBLE, DOUBLE, ARRAY)

Definition

Diese benutzerdefinierte Funktion (UDF) löst eine Ausnahme mit einer bestimmten Meldung aus.

RAISERROR_UDF(MSG_ID DOUBLE, SEVERITY DOUBLE, STATE DOUBLE, PARAMS ARRAY)
Copy

Parameter

MSG_ID DOUBLE

Die Meldungs-ID der Fehlermeldung.

SEVERITY DOUBLE

Die Schweregradnummer für den Fehler.

STATE DOUBLE

Die Statusnummer für die Fehlermeldung.

PARAMS ARRAY

Die zusätzlichen Informationen der Fehlermeldung.

Rückgabewerte

Gibt ein varchar mit einer Fehlermeldung zurück.

Verwendungsbeispiel

Eingabe:

SELECT RAISERROR_UDF(2.1, 1.6, 1.0, array_construct('More information'));
Copy

Ausgabe:

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

STR_UDF(FLOAT)

Definition

Diese benutzerdefinierte Funktion (UDF) ist eine Vorlage für die Übersetzung der Funktionalität von SQL Server-STR() in Snowflake, wenn sie mit einem oder zwei optionalen Parametern verwendet wird

STR_UDF(FLOAT_EXPR FLOAT, FORMAT VARCHAR)
Copy

Parameter

FLOAT_EXPR FLOAT

Der zu verarbeitende Ausdruck.

Rückgabewerte

Gibt ein varchar mit dem formatierten Ausdruck zurück.

Verwendungsbeispiel

Eingabe:

SELECT STR_UDF(1.5);
Copy

Ausgabe:

2
Copy

SWITCHOFFSET_UDF (TIMESTAMP_TZ, VARCHAR)

Definition

Diese benutzerdefinierte Funktion (UDF) gibt einen neuen timestamp_tz-Wert mit der angepassten Zeit für den target_tz-Parameter zurück.

SWITCHOFFSET_UDF(source_timestamp TIMESTAMP_TZ, target_tz varchar)
Copy

Parameter

source_timestamp TIMESTAMP_TZ

Der Quellzeitstempel, der angepasst werden soll.

target_tz varchar

Die zu nehmende Zielzeit.

Rückgabewerte

Gibt die formatierte Zielzeit als TIMESTAMP_TZ zurück.

Verwendungsbeispiel

Eingabe:

SELECT SWITCHOFFSET_UDF(time_in_paris, '-0600') as time_in_costa_rica;
Copy

Ausgabe:

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

Definition

Diese benutzerdefinierte Funktion (UDF) ruft die aktuelle Sitzungs- oder Systemzeitzone als Literal ab.

GET_CURRENT_TIMEZONE_UDF()
Copy

Parameter

Keine Parameter.

Rückgabewerte

Gibt einen Literalwert mit der aktuellen Sitzungs- oder Systemzeitzone als Literal zurück.

Verwendungsbeispiel

Eingabe:

SELECT PUBLIC.GET_CURRENT_TIMEZONE_UDF();
Copy

Ausgabe:

'Europe/London'
Copy

UPDATE_ERROR_VARS_UDF (STRING, STRING, STRING, STRING, STRING, STRING)

Definition

Diese benutzerdefinierte Funktion (UDF) aktualisiert die Fehlervariablen in einer Umgebung, damit Sie wissen, wann die Prozedur einen Fehler auslöst.

UPDATE_ERROR_VARS_UDF(LINE STRING,CODE STRING, STATE STRING, MESSAGE STRING, PROC_NAME STRING, SEVERITY STRING)
Copy

Parameter

LINE STRING

Die Zeile, die sich auf den Fehler bezieht.

CODE STRING

Der mit der Fehlermeldung verbundene Fehlercode.

STATE STRING

Der Status der Fehlermeldung.

MESSAGE STRING

Die Nachricht, die in der Fehlermeldung angezeigt werden soll.

PROC_NAME STRING

Der Prozedurname.

SEVERITY STRING

Der Schweregrad des Fehlers.

Rückgabewerte

Gibt einen Zeichenfolgenwert mit den neuen Fehlermeldungsinformationen zurück.

Verwendungsbeispiel

Eingabe:

  SELECT UPDATE_ERROR_VARS_UDF('1', '1', '1', 'ABC', 'TEST', '1');
Copy

Ausgabe:

111ABCTEST1
Copy

SEQUENCE_OBJECT_ID_UDF (VARCHAR)

Definition

Diese benutzerdefinierte Funktion (UDF) überprüft, ob eine Sequenz mit einem bestimmten Namen schon einmal erstellt worden ist.

SEQUENCE_OBJECT_ID_UDF(NAME VARCHAR)
Copy

Parameter

NAME VARCHAR

Der Name der Sequenz, die überprüft werden soll.

Rückgabewerte

Gibt einen booleschen Ausdruck zurück, der vom Vorhandensein der Sequenz abhängt.

Verwendungsbeispiel

Eingabe:

SELECT SEQUENCE_OBJECT_ID_UDF('Test');
Copy

Ausgabe:

FALSE
Copy

CAST_TIMESTAMP_TZ_TO_NUMERIC_UDF (TIMESTAMP_TZ)

Definition

Diese benutzerdefinierte Funktion (UDF) wird verwendet, um timestamp_tz in numerisch umzuwandeln. Sie konvertiert die aktuelle Zeitzone in UTC, da der numerische Wert die timestamp-Informationen nicht speichern kann.

CAST_TIMESTAMP_TZ_TO_NUMERIC_UDF(INPUT TIMESTAMP_TZ)
Copy

Parameter

INPUT TIMESTAMP_TZ

Der timestamp-Eingabe, die umgewandelt werden soll.

Rückgabewerte

Gibt eine numerische Zahl mit einem Dezimalpunkt zurück. Der ganzzahlige Teil steht für die Anzahl der Tage ab 1900-01-01 und der dezimale Teil für den Prozentsatz der Millisekunden in 24 Stunden.

Verwendungsbeispiel

Eingabe:

SELECT PUBLIC.CAST_TIMESTAMP_TZ_TO_NUMERIC_UDF('1900-01-01 01:00:00.000 +0100')
Copy

Ausgabe:

0
Copy

RAISERROR_UDF (VARCHAR, DOUBLE, DOUBLE, ARRAY)

Definition

Diese benutzerdefinierte Funktion (UDF) löst eine Ausnahme mit einer bestimmten Meldung aus.

RAISERROR_UDF(MSG_TEXT VARCHAR, SEVERITY DOUBLE, STATE DOUBLE, PARAMS ARRAY)
Copy

Parameter

MSG_TEXT VARCHAR

Der Meldungstext der Fehlermeldung.

SEVERITY DOUBLE

Die Schweregradnummer für den Fehler.

STATE DOUBLE

Die Statusnummer für die Fehlermeldung.

PARAMS ARRAY

Die zusätzlichen Informationen der Fehlermeldung.

Rückgabewerte

Gibt ein varchar mit einer Fehlermeldung zurück.

Verwendungsbeispiel

Eingabe:

SELECT RAISERROR_UDF('<\<%*.*s>> TEST', 1.0, 1, array_construct());
Copy

Ausgabe:

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

PARSENAME_UDF

Definition

Diese benutzerdefinierte Funktion (UDF) ruft den PART_NUMBER-Index eines durch '.' getrennten string ab.

PARSENAME_UDF(STR VARCHAR, PART_NUMBER INT)
Copy

Parameter

STR VARCHAR

Der Objektname als string.

PART_NUMBER INT

Der zu überprüfende Teil des Objektnamens.

Rückgabewerte

Gibt den angegebenen Teil eines Objektnamens zurück.

Verwendungsbeispiel

Eingabe:

SELECT PARSENAME_UDF('Test_A.Test_B.Test_C]', 2);
Copy

Ausgabe:

Test_B
Copy

ERROR_STATE_UDF

Definition

Diese benutzerdefinierte Funktion (UDF) ruft den Fehlerstatus unabhängig davon ab, wie oft sie ausgeführt wird oder wo sie im Rahmen des CATCH-Blocks ausgeführt wird.

ERROR_STATE_UDF()
Copy

Parameter

Keine Eingabeparameter.

Rückgabewerte

Gibt den string mit dem Fehlerstatus zurück, unabhängig davon, wie oft sie ausgeführt wird oder wo sie im Rahmen des CATCH-Blocks ausgeführt wird.

Verwendungsbeispiel

Eingabe:

SELECT ERROR_STATE_UDF();
Copy

Ausgabe:

null -- No information set.
Copy

CAST_TIME_TO_TIMESTAMP_TZ_UDF (TIME)

Definition

Diese benutzerdefinierte Funktion (UDF) wandelt time in timestamp_tz um.

CAST_TIME_TO_TIMESTAMP_TZ_UDF(INPUT TIME)
Copy

Parameter

INPUT TIME

Die Eingabezeit, die in timestamp_tz umgewandelt werden soll.

Rückgabewerte

Gibt einen timestamp_tz-Wert mit dem Datum 1900-01-01 und der gleichen Uhrzeit wie die Eingabe zurück.

Verwendungsbeispiel

Eingabe:

SELECT PUBLIC.CAST_TIME_TO_TIMESTAMP_TZ_UDF('00:00:00.995')
Copy

Ausgabe:

1900-01-01 00:00:00.997
Copy

SUM_TIMESTAMP_TZ_UDF (TIMESTAMP_TZ, TIMESTAMP_TZ)

Definition

Diese benutzerdefinierte Funktion (UDF) konvertiert beide Eingaben in die System- oder Sitzungszeitzone und summiert die Daten, wobei 1900-01-01 00:00:00.000 als Nullwert verwendet wird. Wenn ein Wert die Zeitzone nicht enthält, wird die Zeitzone der aktuellen Sitzung verwendet.

SUM_TIMESTAMP_TZ_UDF(FIRST_DATE TIMESTAMP_TZ, SECOND_DATE TIMESTAMP_TZ)
Copy

Parameter

FIRST_DATE TIMESTAMP_TZ

Das erste Datum, zu dem summiert werden soll.

SECOND_DATE TIMESTAMP_TZ

Das zweite Datum, zu dem summiert werden soll.

Rückgabewerte

Gibt die Summe zwischen den beiden Eingabedatumswerten zurück.

Verwendungsbeispiel

Eingabe:

SELECT SUM_TIMESTAMP_TZ_UDF('1900-01-01 00:00:00.000 +0100', '1900-01-01 00:00:00.003 -0100')
Copy

Ausgabe:

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