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)
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');
Ausgabe:
1
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)
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');
Ausgabe:
2
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()
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();
Ausgabe:
null -- No information set.
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
)
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'));
Ausgabe:
SELECT * FROM PERSONS WHERE NAME LIKE ('John Smith') AND ID < 100 AND AGE < 30;
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)
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');
Ausgabe:
FALSE
ERROR_PROCEDURE_UDF¶
Definition¶
Diese benutzerdefinierte Funktion (UDF) gibt den Wert zurück, der dem SQL-Variablennamen ERROR_PROCEDURE
zugeordnet ist.
ERROR_PROCEDURE_UDF()
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();
Ausgabe:
null -- No information set.
DB_ID_UDF(STRING)¶
Definition¶
Diese benutzerdefinierte Funktion (UDF) emuliert die Funktionalität von DB_ID.
DB_ID_UDF(p_database_name STRING)
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')
Ausgabe:
6
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()
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();
Ausgabe:
null -- No information set.
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)
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');
Ausgabe:
FALSE
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)
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');
Ausgabe:
FALSE
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)
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');
Ausgabe:
<employees>
<employee type="OBJECT">
<id type="INTEGER">1</id>
<name type="VARCHAR">David</name>
</employee>
<employees>
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)
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');
Ausgabe:
FALSE
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)
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');
Ausgabe:
FALSE
ISDATE_UDF¶
Definition¶
Diese benutzerdefinierte Funktion (UDF) bestimmt, ob der Eingabewert ein gültiges Datum ist.
ISDATE_UDF(DATE_VALUE STRING)
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');
Ausgabe:
1
ERROR_NUMBER_UDF¶
Definition¶
Diese benutzerdefinierte Funktion (UDF) gibt den Wert zurück, der dem SQL-Variablennamen ERROR_NUMBER
zugeordnet ist.
ERROR_NUMBER_UDF()
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();
Ausgabe:
null -- No information set.
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)
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');
Ausgabe:
2024-01-26 22:00:50.708 -0800
OPENXML_UDF¶
Definition¶
Diese benutzerdefinierte Funktion (UDF) erzeugt eine Abfrage aus einer XML-Auslesung.
OPENXML_UDF(XML VARCHAR, PATH VARCHAR)
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'));
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)
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', '?');
Ausgabe:
?test?
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)
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');
Ausgabe:
1ABC1
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)
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')
Ausgabe:
'1900-01-01 00:00:00.997 +0100'
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)
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)
Ausgabe:
1900-01-01 01:00:00.000 +0100
IDENTITY_UDF¶
Definition¶
Diese benutzerdefinierte Funktion (User-Defined Function, UDF) bestimmt, ob ein Ausdruck ein gültiger numerischer Typ ist.
IDENTITY_UDF()
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()
Ausgabe:
1
FOR_XML_UDF (OBJECT, VARCHAR)¶
Definition¶
Diese benutzerdefinierte Funktion (UDF) konvertiert ein Objekt in XML.
FOR_XML_UDF(OBJ OBJECT, ELEMENT_NAME VARCHAR)
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');
Ausgabe:
<employee type="OBJECT">
<id type="INTEGER">1</id>
<name type="VARCHAR">David</name>
</employee>
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)
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');
Ausgabe:
"test"
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)
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');
Ausgabe:
FALSE
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)
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')
Ausgabe:
1899-12-31 13:59:59.997 -0800
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)
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');
Ausgabe:
2
XML_JSON_SIMPLE¶
Definition¶
Diese benutzerdefinierte Funktion (UDF) generiert ein Objekt mit den Informationen aus dem ausgelesenen XML-Wert.
XML_JSON_SIMPLE(XML VARIANT)
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>
')));
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
}
}
]
}
}
]
}
}
]
}
}
]
}
}
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)
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'));
Ausgabe:
Test a!
IS_MEMBER_UDF¶
Definition¶
Diese benutzerdefinierte Funktion (UDF) bestimmt die Windows-Gruppenmitgliedschaft durch Prüfung eines Zugriffstokens.
IS_MEMBER_UDF(ROLE STRING)
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');
Ausgabe:
FALSE
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)
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'));
Ausgabe:
MESSAGE: 2.1, LEVEL: 1.6, STATE: 1
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)
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);
Ausgabe:
2
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)
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;
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()
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();
Ausgabe:
'Europe/London'
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)
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');
Ausgabe:
111ABCTEST1
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)
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');
Ausgabe:
FALSE
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)
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')
Ausgabe:
0
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)
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());
Ausgabe:
MESSAGE: <<undefined>> TEST, LEVEL: 1, STATE: 1
PARSENAME_UDF¶
Definition¶
Diese benutzerdefinierte Funktion (UDF) ruft den PART_NUMBER-Index eines durch '.'
getrennten string
ab.
PARSENAME_UDF(STR VARCHAR, PART_NUMBER INT)
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);
Ausgabe:
Test_B
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()
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();
Ausgabe:
null -- No information set.
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)
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')
Ausgabe:
1900-01-01 00:00:00.997
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)
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')
Ausgabe:
1900-01-01 00:00:00.003 +0000