SnowConvert AI – SQL Server – Azure Synapse – Integrierte Funktionen¶
Applies to
SQL Server
Azure Synapse Analytics
Bemerkung
Weitere Informationen zu integrierten Funktionen und ihren Snowflake-Äquivalenten finden Sie auch unter Allgemeine integrierte Funktionen.
Aggregatfunktionen¶
TransactSQL |
Snowflake |
Anmerkungen |
|---|---|---|
TransactSQL |
Snowflake |
Anmerkungen |
APPROX_COUNT_DISTINCT |
APPROX_COUNT_DISTINCT |
|
AVG |
AVG |
|
CHECKSUM_AGG |
*noch zu definieren_ |
|
COUNT |
COUNT |
|
COUNT_BIG |
*noch zu definieren_ |
|
GROUPING |
GROUPING |
|
GROUPING_ID |
GROUPING_ID |
|
MAX |
MAX |
|
MIN |
MIN |
|
STDEV |
STDDEV, STDEV_SAMP |
|
STDEVP |
STDDEV_POP |
|
SUM |
SUM |
|
VAR |
VAR_SAMP |
|
VARP |
VAR_POP |
Analyse¶
TransactSQL |
Snowflake |
Anmerkungen |
|---|---|---|
CUME_DIST |
CUME_DIST |
|
FIRST_VALUE |
FIRST_VALUE |
|
LAG |
LAG |
|
LAST_VALUE |
LAST_VALUE |
|
LEAD |
LEAD |
|
PERCENTILE_CONT |
PERCENTILE_CONT |
|
PERCENTILE_DISC |
PERCENTILE_DISC |
|
PERCENT_RANK |
PERCENT_RANK |
Sortierung¶
TransactSQL |
Snowflake |
Anmerkungen |
|---|---|---|
COLLATIONPROPERTY |
*noch zu definieren_ |
|
TERTIARY_WEIGHTS |
*noch zu definieren_ |
Konfiguration¶
TransactSQL |
Snowflake |
Anmerkungen |
|---|---|---|
@@DBTS |
*noch zu definieren_ |
|
@@LANGID |
*noch zu definieren_ |
|
@@LANGUAGE |
*noch zu definieren_ |
|
@@LOCK_TIMEOUT |
*noch zu definieren_ |
|
@@MAX_CONNECTIONS |
*noch zu definieren_ |
|
@@MAX_PRECISION |
*noch zu definieren_ |
|
@@NESTLEVEL |
*noch zu definieren_ |
|
@@OPTIONS |
*noch zu definieren_ |
|
@@REMSERVER |
*noch zu definieren_ |
|
@@SERVERNAME |
CONCAT(„app.snowflake.com“, CURRENT_ACCOUNT( )) |
|
@@SERVICENAME |
*noch zu definieren_ |
|
@@SPID |
*noch zu definieren_ |
|
@@TEXTSIZE |
*noch zu definieren_ |
|
@@VERSION |
*noch zu definieren_ |
Kann mit CURRENT_VERSION nachgeahmt werden |
Konvertierung¶
TransactSQL |
Snowflake |
Anmerkungen |
|---|---|---|
CAST |
CAST |
Returns NULL if the value isn’t a number, otherwise returns the numeric value as its. |
CONVERT |
Überprüfen Sie CONVERT |
Gleiche Verhaltensweise wie CAST |
PARSE |
*noch zu definieren_ |
|
TRY_CAST |
TRY_CAST |
Returns NULL if the value isn’t a number, otherwise returns the numeric value as its. |
*noch zu definieren_ |
Gleiche Verhaltensweise wie TRY_CAST |
|
TRY_PARSE |
TRY_CAST |
Die Verhaltensweise kann unterschiedlich sein, wenn eine Ganzzahl als Datum oder Zeitstempel analysiert wird. |
Kryptografisch¶
TransactSQL |
Snowflake |
Anmerkungen |
|---|---|---|
ASYMKEY_ID |
*noch zu definieren_ |
|
ASYMKEYPROPERTY |
*noch zu definieren_ |
|
CERTENCODED |
*noch zu definieren_ |
|
CERTPRIVATEKEY |
*noch zu definieren_ |
|
DECRYPTBYASYMKEY |
*noch zu definieren_ |
|
DECRYPTBYCERT |
*noch zu definieren_ |
|
DECRYPTBYKEY |
*noch zu definieren_ |
|
DECRYPTBYKEYAUTOASYMKEY |
*noch zu definieren_ |
|
DECRYPTBYKEYAUTOCERT |
*noch zu definieren_ |
|
DECRYPTBYPASSPHRASE |
_*zu definieren_ |
Kann mit DENCRYPT_RAW nachgeahmt werden |
ENCRYPTBYASYMKEY |
*noch zu definieren_ |
|
ENCRYPTBYCERT |
*noch zu definieren_ |
|
ENCRYPTBYKEY |
*noch zu definieren_ |
|
ENCRYPTBYPASSPHRASE |
*noch zu definieren_ |
Kann mit ENCRYPT_RAW nachgeahmt werden |
HASHBYTES |
MD5, SHA1, SHA2 |
<p>Derzeit werden nur getrennte Hash-Werte unterstützt. Verwenden Sie je nach dem erforderlichen Algorithmus den passenden Wert.</p><p><strong>MD5</strong>, ist ein 32-stelliger hexadezimal-codierter Wert</p><p><strong>SHA1</strong>, hat eine 40-stellige hexadezimal-codierte Zeichenfolge, die den 160-Bit-Nachrichtenhash enthält</p><p><strong>SHA2</strong>, eine hexadezimal-codierte Zeichenfolge, die den N-Bit SHA-2-Nachrichtenhash enthält. Die Größen sind:</p><p>224 = SHA-224</p><p>256 = SHA-256 (Standard)</p><p>384 = SHA-384</p><p>512 = SHA-512</p> |
IS_OBJECTSIGNED |
*noch zu definieren_ |
|
KEY_GUID |
*noch zu definieren_ |
|
KEY_ID |
*noch zu definieren_ |
|
KEY_NAME |
*noch zu definieren_ |
|
SIGNBYASYMKEY |
*noch zu definieren_ |
|
SIGNBYCERT |
*noch zu definieren_ |
|
SYMKEYPROPERTY |
*noch zu definieren_ |
|
VERIFYSIGNEDBYCERT |
*noch zu definieren_ |
Cursor¶
TransactSQL |
Snowflake |
Anmerkungen |
|---|---|---|
@@CURSOR_ROWS |
*noch zu definieren_ |
|
@@FETCH_STATUS |
*noch zu definieren_ |
|
CURSOR_STATUS |
*noch zu definieren_ |
Datentyp¶
TransactSQL |
Snowflake |
Anmerkungen |
|---|---|---|
DATALENGTH |
OCTET_LENGTH |
Snowflake verwendet keine Bruchteile von Bytes, daher wird die Länge immer als 8 * OCTET_LENGTH berechnet |
IDENT_SEED |
*noch zu definieren_ |
|
IDENT_CURRENT |
*noch zu definieren_ |
|
IDENTITY |
*noch zu definieren_ |
|
IDENT_INCR |
*noch zu definieren_ |
|
SQL_VARIANT_PROPERTY |
*noch zu definieren_ |
Datum & Uhrzeit¶
TransactSQL |
Snowflake |
Anmerkungen |
|---|---|---|
@@DATEFIRST |
*noch zu definieren_ |
|
@@LANGUAGE |
*noch zu definieren_ |
|
CURRENT_TIMESTAMP |
CURRENT_TIMESTAMP |
|
CURRENT_TIMEZONE |
*noch zu definieren_ |
|
DATEADD |
DATEADD |
|
DATEDIFF |
DATEDIFF |
|
DATEDIFF_BIG |
*noch zu definieren_ |
|
DATEFROMPARTS |
DATE_FROM_PARTS |
|
DATENAME |
*noch zu definieren_ |
This function receives two arguments: a datepart and date. It returns a string. Here are the supported dateparts from TSQL to Snowflake year, yyyy, yy -> DATE_PART(YEAR, „$date“) quarter, qq, q -> DATE_PART(QUARTER, „$date“) weekday, dw -> DAYNAME(„$date“), though only providing an three-letter english day name |
DATEPART |
DATE_PART |
|
DATETIME2FROMPARTS |
*noch zu definieren_ |
|
DATETIMEFROMPARTS |
*noch zu definieren_ |
Kann durch eine Kombination von DATE\_FROM_PARTS und TIME\_FROM\_PARTS nachgeahmt werden |
DATETIMEOFFSETFROMPARTS |
*noch zu definieren_ |
|
DAY |
DAY |
|
EOMONTH |
*noch zu definieren_ |
Kann mit LAST_DAY nachgeahmt werden |
GETDATE |
GETDATE |
|
GETUTCDATE |
*noch zu definieren_ |
Kann mit CONVERT_TIMEZONE nachgeahmt werden |
ISDATE |
*noch zu definieren_ |
Can be mimicked by using TRY_TO_DATE Returns NULL if the value isn’t a date, otherwise returns the date value as its. |
MONTH |
MONTH |
|
SMALLDATETIMEFROMPARTS |
*noch zu definieren_ |
Kann durch eine Kombination von DATE\_FROM_PARTS und TIME\_FROM\_PARTS nachgeahmt werden |
SWITCHOFFSET |
*noch zu definieren_ |
Kann mit CONVERT_TIMEZONE nachgeahmt werden |
SYSDATETIME |
LOCALTIME |
|
SYSDATETIMEOFFSET |
*noch zu definieren_ |
Kann mit CONVERT_TIMEZONE und LOCALTIME nachgeahmt werden |
SYSUTCDATETIME |
*noch zu definieren_ |
Kann mit CONVERT_TIMEZONE und LOCALTIME nachgeahmt werden |
TIMEFROMPARTS |
TIME_FROM_PARTS |
|
TODATETIMEOFFSET |
*noch zu definieren_ |
Kann mit CONVERT_TIMEZONE nachgeahmt werden |
YEAR |
YEAR |
JSON¶
TransactSQL |
Snowflake |
Anmerkungen |
|---|---|---|
ISJSON |
CHECK_JSON |
Das ist ein „Vorschau-Feature“ in Snowflake |
JSON_VALUE |
*noch zu definieren_ |
<p>Kann mit</p><p>TO_VARCHAR(GET_PATH(PARSE_JSON(JSON), PATH)) nachgeahmt werden</p> |
JSON_QUERY |
*noch zu definieren_ |
|
JSON_MODIFY |
*noch zu definieren_ |
Mathematisch¶
TransactSQL |
Snowflake |
Anmerkungen |
|---|---|---|
ABS |
ABS |
|
ACOS |
ACOS |
|
ASIN |
ASIN |
|
ATAN |
ATAN |
|
ATN2 |
ATAN2 |
|
CEILING |
CEIL |
|
COS |
COS |
|
COT |
COT |
|
DEGREES |
DEGREES |
|
EXP |
EXP |
|
FLOOR |
FLOOR |
|
LOG |
LN |
|
LOG10 |
LOG |
|
PI |
PI |
|
POWER |
POWER |
|
RADIANS |
RADIANS |
|
RAND |
RANDOM |
|
ROUND |
ROUND |
|
SIGN |
SIGN |
|
SIN |
SIN |
|
SQRT |
SQRT |
|
SQUARE |
SQUARE |
Logisch¶
TransactSQL |
Snowflake |
Anmerkungen |
|---|---|---|
CHOOSE |
*noch zu definieren_ |
Kann mit DECODE nachgeahmt werden |
GREATEST |
GREATEST |
|
IIF |
IIF |
|
LEAST |
LEAST |
|
NULLIF |
NULLIF |
Metadaten¶
TransactSQL |
Snowflake |
Anmerkungen |
|---|---|---|
TransactSQL |
Snowflake |
Anmerkungen |
@@PROCID |
*noch zu definieren_ |
|
APP_NAME |
*noch zu definieren_ |
|
APPLOCK_MODE |
*noch zu definieren_ |
|
APPLOCK_TEST |
*noch zu definieren_ |
|
ASSEMBLYPROPERTY |
*noch zu definieren_ |
|
COL_LENGTH |
Eine UDF mit dem Namen COL_LENGTH_UDF ist zum Abrufen dieser Informationen vorgesehen. Diese UDF funktioniert nur mit VARCHAR-Typen, wie in der Transact-SQL-Dokumentation angegeben. Bei anderen Datentypen wird NULL zurückgegeben. |
|
COL_NAME |
*noch zu definieren_ |
|
COLUMNPROPERTY |
*noch zu definieren_ |
|
DATABASE_PRINCIPAL_ID |
*noch zu definieren_ |
Wird CURRENT_USER zugeordnet, wenn keine Argumente vorhanden sind |
DATABASEPROPERTYEX |
*noch zu definieren_ |
|
DB_ID |
*noch zu definieren_ |
Wir empfehlen, zu CURRENT_DATABASE() zu wechseln. Falls diese Funktionalität emuliert werden muss: |
DB_NAME |
*noch zu definieren_ |
Wird meist in dem oben erwähnten Prozedurnamen verwendet |
FILE_ID |
*noch zu definieren_ |
|
FILE_IDEX |
*noch zu definieren_ |
|
FILE_NAME |
*noch zu definieren_ |
|
FILEGROUP_ID |
*noch zu definieren_ |
|
FILEGROUP_NAME |
*noch zu definieren_ |
|
FILEGROUPPROPERTY |
*noch zu definieren_ |
|
FILEPROPERTY |
*noch zu definieren_ |
|
FULLTEXTCATALOGPROPERTY |
*noch zu definieren_ |
|
FULLTEXTSERVICEPROPERTY |
*noch zu definieren_ |
|
INDEX_COL |
*noch zu definieren_ |
|
INDEXKEY_PROPERTY |
*noch zu definieren_ |
|
INDEXPROPERTY |
*noch zu definieren_ |
|
NEXT VALUE FOR |
*noch zu definieren_ |
|
OBJECT_DEFINITION |
*noch zu definieren_ |
|
OBJECT_ID |
*noch zu definieren_ |
Kann in den meisten Fällen ersetzt werden. Die meisten Fälle sehen wie folgt aus: IF OBJECT_ID(dbo.TABLE‘) IS NOT NULL DROP TABLE dbo.Table, was durch DROP TABLE IF EXISTS ersetzt werden kann (diese Syntax wird auch in SQL SERVER unterstützt). Wenn die Objekt-ID (object_id) repliziert werden muss, wird eine UDF in Abhängigkeit vom zweiten Parameter des Funktionsaufrufs hinzugefügt. |
OBJECT_NAME |
*noch zu definieren_ |
Kann ersetzt werden durch: CREATE OR REPLACE PROCEDURE FOO() RETURNS STRING LANGUAGE JAVASCRIPT AS ‚ var rs = snowflake.execute({sqlText: |
OBJECT_NAME(@@PROCID) |
‚ObjectName‘ |
Diese Transformation findet nur statt, wenn sie sich innerhalb einer DeclareStatement befindet. |
OBJECT_SCHEMA_NAME |
*noch zu definieren_ |
|
OBJECT_SCHEMA_NAME(@@PROCID) |
:OBJECT_SCHEMA_NAME |
Diese Transformation findet nur statt, wenn sie sich innerhalb einer DeclareStatement befindet. |
OBJECTPROPERTY |
*noch zu definieren_ |
|
OBJECTPROPERTYEX |
*noch zu definieren_ |
|
ORIGINAL_DB_NAME |
*noch zu definieren_ |
|
PARSENAME |
PARSENAME_UDF |
Erstellt eine UDF, um das gleiche Verhalten der PARSENAME-Funktion zu emulieren. |
*noch zu definieren_ |
||
SCHEMA_NAME |
*noch zu definieren_ |
|
SCOPE_IDENTITY |
*noch zu definieren_ |
Wenn dies erforderlich ist, würde ich empfehlen, Sequenzen zu verwenden und den Wert vor dem Einfügen zu erfassen |
SERVERPROPERTY |
*noch zu definieren_ |
|
STATS_DATE |
*noch zu definieren_ |
|
TYPE_ID |
*noch zu definieren_ |
|
TYPE_NAME |
*noch zu definieren_ |
|
TYPEPROPERTY |
*noch zu definieren_ |
|
VERSION |
*noch zu definieren_ |
Rangliste¶
TransactSQL |
Snowflake |
Anmerkungen |
|---|---|---|
DENSE_RANK |
DENSE_RANK |
|
NTILE |
NTILE |
|
RANK |
RANK |
|
ROW_NUMBER |
ROW_NUMBER |
Replikation¶
TransactSQL |
Snowflake |
Anmerkungen |
|---|---|---|
PUBLISHINGSERVERNAME |
*noch zu definieren_ |
Rowset¶
TransactSQL |
Snowflake |
Anmerkungen |
|---|---|---|
OPENDATASOURCE |
*noch zu definieren_ |
|
OPENJSON |
*noch zu definieren_ |
|
QPENQUERY |
*noch zu definieren_ |
|
OPENROWSET |
*noch zu definieren_ |
|
OPENXML |
OPENXML_UDF |
Benutzerdefinierte Funktion, die als gleichwertige Verhaltensweise in Snowflake verwendet wird. |
STRING_SPLIT |
SPLIT_TO_TABLE |
Das Flag „enable_ordinal“ in STRING_SPLIT von Transact-SQL wird nicht direkt von der SPLIT_TO_TABLE-Funktion von Snowflake unterstützt. Wenn die „ordinal“-Spalte erforderlich ist, wird eine benutzerdefinierte Funktion (UDF) namens STRING_SPLIT_UDF erzeugt, um dieses Verhalten zu replizieren. Beachten Sie, dass ohne die „ordinal“-Spalte STRING_SPLIT einen einzelnen Spaltenwert mit dem Namen „value“ zurückgibt, während SPLIT_TO_TABLE drei Spalten zurückgibt: „value“, „index“ (entspricht „ordinal“) und „seq“. Weitere Informationen finden Sie in der SPLIT_TO_TABLE-Dokumentation. |
Sicherheit¶
TransactSQL |
Snowflake |
Anmerkungen |
|---|---|---|
CERTENCODED |
*noch zu definieren_ |
|
CERTPRIVATEKEY |
*noch zu definieren_ |
|
CURRENT_USER |
CURRENT_USER |
|
DATABASE_PRINCIPAL_ID |
*noch zu definieren_ |
|
HAS_PERMS_BY_NAME |
*noch zu definieren_ |
|
IS_MEMBER |
*noch zu definieren_ |
Ändern Sie die Abfrage INFORMATION_SCHEMA, auch wenn der Kunde möglicherweise neue Rollen definieren muss |
IS_ROLEMEMBER |
*noch zu definieren_ |
<p>Snowflake hat eine ähnliche Funktion</p><p><strong>IS_ROLE_IN_SESSION</strong></p> |
IS_SRVROLEMEMBER |
*noch zu definieren_ |
|
LOGINPROPERTY |
*noch zu definieren_ |
|
ORIGINAL_LOGIN |
*noch zu definieren_ |
|
PERMISSIONS |
*noch zu definieren_ |
|
PWDCOMPARE |
*noch zu definieren_ |
|
PWDENCRYPT |
*noch zu definieren_ |
|
SCHEMA_ID |
*noch zu definieren_ |
|
SCHEMA_NAME |
*noch zu definieren_ |
|
SESSION_USER |
*noch zu definieren_ |
|
SUSER_ID |
*noch zu definieren_ |
|
SUSER_NAME |
*noch zu definieren_ |
|
SUSER_SID |
*noch zu definieren_ |
|
SUSER_SNAME |
*noch zu definieren_ |
|
sys.fn_builtin_permissions |
*noch zu definieren_ |
|
sys.fn_get_audit_file |
*noch zu definieren_ |
|
sys.fn_my\_permissions |
*noch zu definieren_ |
|
SYSTEM_USER |
*noch zu definieren_ |
|
USER_ID |
*noch zu definieren_ |
|
USER_NAME |
*noch zu definieren_ |
Zuordnung zu CURRENT_USER |
String¶
TransactSQL |
Snowflake |
Anmerkungen |
|---|---|---|
ASCII |
ASCII |
|
CHAR |
CHR, CHAR |
|
CHARINDEX |
CHARINDEX |
|
CONCAT |
CONCAT |
|
CONCAT_WS |
CONCAT_WS |
|
COALESCE |
COALESCE |
|
DIFFERENCE |
*noch zu definieren_ |
|
FORMAT |
TO_CHAR |
SSC-EWI-0006 oder SSC-FDM-0036 kann generiert werden, wenn das Format (numerisch oder Datum/Uhrzeit) nicht vollständig unterstützt wird. |
LEFT |
LEFT |
|
LEN |
LEN |
|
LOWER |
LOWER |
|
LTRIM |
LTRIM |
|
NCHAR |
*noch zu definieren_ |
|
PATINDEX |
*noch zu definieren_ |
Zuordnung zu REGEXP_INSTR |
QUOTENAME |
QUOTENAME_UDF |
Es wird eine UDF erstellt, um die gleiche Verhaltensweise der Funktion Quotename zu emulieren |
REPLACE |
REPLACE |
|
REPLICATE |
REPEAT |
|
REVERSE |
REVERSE |
|
RIGHT |
RIGHT |
|
RTRIM |
RTRIM |
|
SOUNDEX |
SOUNDEX |
|
SPACE |
*noch zu definieren_ |
|
STR |
*noch zu definieren_ |
|
STRING_AGG |
*noch zu definieren_ |
|
STRING_ESCAPE |
*noch zu definieren_ |
|
STRING_SPLIT |
SPLIT_TO_TABLE |
|
STUFF |
*noch zu definieren_ |
CREATE OR REPLACE FUNCTION STUFF(S-string, STARTPOS int, LENGTH int, NEWSTRING string) RETURNS-Zeichenfolge LANGUAGE SQL AS ‚ left(S, STARTPOS) |
SUBSTRING |
SUBSTRING |
|
TRANSLATE |
TRANSLATE |
|
TRIM |
TRIM |
|
UNICODE |
UNICODE |
|
UPPER |
UPPER |
System¶
TransactSQL |
Snowflake |
Anmerkungen |
|---|---|---|
$PARTITION |
*noch zu definieren_ |
|
@@ERROR |
*noch zu definieren_ |
|
@@IDENTITY |
*noch zu definieren_ |
Wenn dies erforderlich ist, würde ich empfehlen, Sequenzen zu verwenden und den Wert vor dem Einfügen zu erfassen |
@@PACK_RECEIVED |
*noch zu definieren_ |
|
@@ROWCOUNT |
*noch zu definieren_ |
|
@@TRANCOUNT |
*noch zu definieren_ |
|
BINARY_CHECKSUM |
*noch zu definieren_ |
|
CHECKSUM |
*noch zu definieren_ |
|
COMPRESS |
COMPRESS |
<p>Die Version von Snowflake verfügt über ein „method“-Argument, das die Komprimierungsmethode angibt. Dies sind die gültigen Werte: <strong>SNAPPY, ZLIB, ZSTD, BZ2</strong></p><p>Der Komprimierungsgrad wird in Klammern angegeben und muss eine nicht negative ganze Zahl sein</p> |
CONNECTIONPROPERTY |
*noch zu definieren_ |
|
CONTEXT_INFO |
*noch zu definieren_ |
|
CURRENT_REQUEST_ID |
*noch zu definieren_ |
|
CURRENT_TRANSACTION_ID |
*noch zu definieren_ |
|
DECOMPRESS |
*noch zu definieren_ |
Snowflake verfügt dafür über zwei Funktionen: DECOMPRESS_BINARY und DECOMPRESS_STRING |
ERROR_LINE |
*noch zu definieren_ |
<p>SnowScript: Nicht unterstützt in Snowflake mit [SSC-EWI-0040](/migrations/snowconvert-docs/general/technical-documentation/issues-and-troubleshooting/conversion-issues/generalEWI.md)**.</p> <p>JavaScript: Wird der **ERROR\_LINE**-Hilfsfunktion zugeordnet. Die EXEC-Hilfsfunktion erfasst die „Exception line“-Eigenschaft aus der Stapelüberwachung. </p> |
ERROR_MESSAGE |
SQLERRM |
**SSC-FDM-TS0023 hinzugefügt, zurückgegebene Fehlermeldung kann in Snowflake anders sein. |
ERROR_NUMBER |
*noch zu definieren_ |
<p>SnowScript: Nicht unterstützt in Snowflake mit [SSC-EWI-0040](/migrations/snowconvert-docs/general/technical-documentation/issues-and-troubleshooting/conversion-issues/generalEWI.md)**.</p> <p>JavaScript: Wird der **ERROR\_NUMBER**-Hilfsfunktion zugeordnet. Die EXEC-Hilfsfunktion erfasst die „Exception code“-Eigenschaft aus der Stapelüberwachung.</p> |
ERROR_PROCEDURE |
Mapped |
<p>SnowScript: Aktuellen Prozedurnamen verwenden, **SSC-FDM-TS0023** hinzugefügt. Der Ergebniswert basiert auf der gespeicherten Prozedur, in der die Funktion aufgerufen wird, und nicht auf der Stelle, an der die Ausnahme auftritt.</p> <p>JavaScript: Wird der **ERROR\_PROCEDURE**-Hilfsfunktion zugeordnet, übernommen von der `arguments.callee.name`-Prozedur-Eigenschaft </p> |
ERROR_SEVERITY |
*noch zu definieren_ |
<p>SnowScript: Nicht unterstützt in Snowflake mit **[SSC-EWI-0040](/migrations/snowconvert-docs/general/technical-documentation/issues-and-troubleshooting/conversion-issues/generalEWI.md)**.</p> |
ERROR_STATE |
SQLSTATE |
<p>SnowScript: In die **SQLSTATE**-Snowflake-Eigenschaft konvertiert, **SSC-FDM-TS0023 hinzugefügt. Der zurückgegebene Wert kann in Snowflake anders sein.</p> <p>JavaScript: Hilfefunktion erfasst „Exception state“-Eigenschaft </p> |
FORMATMESSAGE |
FORMATEMESSAGE_UDF |
Es wird eine UDF erstellt, um die gleiche Verhaltensweise der Funktion FORMATMESSAGE zu emulieren, allerdings mit einigen Beschränkungen. |
GET_FILESTREAM_TRANSACTION_CONTEXT |
*noch zu definieren_ |
|
GETANSINULL |
*noch zu definieren_ |
|
HOST_ID |
*noch zu definieren_ |
|
HOST_NAME |
*noch zu definieren_ |
|
ISNULL |
NVL |
|
ISNUMERIC |
*noch zu definieren_ |
Es gibt keine direkte Entsprechung, aber es kann einer benutzerdefinierten UDF zugeordnet werden, die die gleichen Werte wie in TSQL zurückgibt. |
MIN_ACTIVE_ROWVERSION |
*noch zu definieren_ |
|
NEWID |
*noch zu definieren_ |
Zuordnung zu UUID_STRING |
NEWSEQUENTIALID |
*noch zu definieren_ |
|
ROWCOUNT_BIG |
*noch zu definieren_ |
|
SESSION_CONTEXT |
*noch zu definieren_ |
|
SESSION_ID |
*noch zu definieren_ |
|
XACT_STATE |
*noch zu definieren_ |
|
System-statistisch¶
TransactSql |
Snowflake |
Anmerkungen |
|---|---|---|
@@CONNECTIONS |
*noch zu definieren_ |
<p>Snowflake hat eine ähnliche Funktion: <strong>LOGIN_HISTORY.</strong></p><p>Gibt Anmeldeereignisse innerhalb eines angegebenen Zeitbereichs zurück</p> |
@@PACK_RECEIVED |
*noch zu definieren_ |
|
@@CPU_BUSY |
*noch zu definieren_ |
|
@@PACK_SENT |
*noch zu definieren_ |
|
@@TIMETICKS |
*noch zu definieren_ |
|
@@IDLE |
*noch zu definieren_ |
|
@@TOTAL_ERRORS |
*noch zu definieren_ |
|
@@IO_BUSY |
*noch zu definieren_ |
|
@@TOTAL_READ |
*noch zu definieren_ |
|
@@PACKET_ERRORS |
*noch zu definieren_ |
|
@@TOTAL_WRITE |
*noch zu definieren_ |
Text und Bild¶
TransactSQL |
Snowflake |
Anmerkungen |
|---|---|---|
TEXTPTR |
*noch zu definieren_ |
|
TEXTVALID |
*noch zu definieren_ |
Trigger¶
TransactSQL |
Snowflake |
Anmerkungen |
|---|---|---|
COLUMNS_UPDATED |
*noch zu definieren_ |
|
EVENTDATA |
*noch zu definieren_ |
|
TRIGGER_NESTLEVEL |
*noch zu definieren_ |
|
UPDATE |
*noch zu definieren_ |
Systemfunktionen¶
Dieser Abschnitt beschreibt die funktionalen Äquivalente von Systemfunktionen in Transact-SQL zu Snowflake SQL und JavaScript Code, orientiert an der Erstellung von UDFs in Snowflake.
ISNULL¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Ersetzt NULL durch den angegebenen Ersatzwert. (ISNULL in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Beispiele¶
SQL Server¶
Ergebnis:
COMPANYNAME |
|---|
SNOWFLAKE |
Snowflake SQL¶
Ergebnis:
COMPANYNAME |
|---|
SNOWFLAKE |
NEWID¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Erzeugt einen eindeutigen Wert vom Typ „eindeutiger Bezeichner“. (NEWID in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Beispiele¶
Warnung
Die Ausgaben können abweichen, da zur Laufzeit eine eindeutige ID generiert wird
SQL Server¶
Ergebnis:
ID |
|---|
47549DDF-837D-41D2-A59C-A6BC63DF7910 |
Snowflake SQL¶
Ergebnis:
ID |
|---|
6fd4312a-7925-4ad9-85d8-e039efd82089 |
NULLIF¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Gibt einen Nullwert zurück, wenn die beiden angegebenen Ausdrücke gleich sind.
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Beispiele¶
SQL Server¶
Ergebnis:
RESULT1 |
RESULT2 |
|---|---|
6 |
null |
Snowflake SQL¶
Ergebnis:
RESULT1 |
RESULT2 |
|---|---|
6 |
null |
@@ROWCOUNT¶
Applies to
SQL Server
Beschreibung¶
Gibt die Anzahl der Zeilen zurück, die von der letzten Anweisung betroffen sind. (@@ROWCOUNT in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Beispiele¶
SQL Server¶
Ergebnis:
3 |
Snowflake SQL¶
Ergebnis:
:ADDCOUNT |
|---|
3 |
FORMATMESSAGE¶
Applies to
SQL Server
Beschreibung¶
Konstruiert eine Meldung aus einer vorhandenen Meldung in sys.messages oder aus einer angegebenen Zeichenfolge. (FORMATMESSAGE in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Da Snowflake die Funktion FORMATMESSAGE nicht unterstützt, wird die Funktion FORMATMESSAGE_UDF hinzugefügt, um ihre Verhaltensweise zu simulieren.
Syntax¶
SQL Server¶
Beispiele¶
SQL Server¶
Ergebnis:
RESULT |
|---|
Dies ist die erste Variable und dies die zweite Variable. |
Snowflake¶
Ergebnis:
RESULT |
|---|
Dies ist die erste Variable und dies die zweite Variable. |
FORMATMESSAGE_UDF¶
Snowflake verfügt nicht über eine Funktion mit der Funktionalität von FORMATMESSAGE. SnowConvert AI generiert die folgende Python-UDF, um das Verhalten von FORMATMESSAGE zu emulieren.
Diese UDF funktioniert in manchen Fällen nicht korrekt:
Die Verwendung des Platzhalters
%I64dführt zu einem Fehler.Wenn die Anzahl der Substitutionsargumente nicht mit der Anzahl der Platzhalter übereinstimmt, wird ein Fehler ausgegeben.
Einige vorzeichenlose Platzhalter wie
%uoder%Xverhalten sich bei der Formatierung des Wertes nicht korrekt.Sie kann nicht mit Nachrichten_ids umgehen.
Zeichenfolgenfunktionen¶
Dieser Abschnitt beschreibt die funktionalen Äquivalente von Zeichenfolgefunktionen in Transact-SQL zu Snowflake SQL und JavaScript Code, orientiert an der Erstellung von UDFs in Snowflake.
CHAR¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Gibt ein Ein-Byte-Zeichen mit der Ganzzahl zurück, die als Parameter in der Tabelle ASCII (CHAR in Transact-SQL) gesendet wurde.
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
JavaScript¶
Beispiele¶
SQL Server¶
Ausgabe:
SMALLEST_A |
|---|
ª |
Snowflake SQL¶
Ergebnis:
SMALLEST_A |
|---|
ª |
JavaScript¶
Ergebnis:
SMALLEST_A |
|---|
ª |
CHARINDEX¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Gibt den Index des ersten Vorkommens des angegebenen Wertes zurück, der als Parameter gesendet wurde, wenn er übereinstimmt (CHARINDEX in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
JavaScript¶
Beispiele¶
SQL Server¶
Ergebnis:
INDEX |
|---|
33 |
Snowflake SQL¶
Ergebnis:
INDEX |
|---|
33 |
JavaScript¶
Bemerkung
Indizes in Transact beginnen bei 1, anstelle von JavaScript, die bei 0 beginnen.
Ergebnis:
INDEX |
|---|
33 |
COALESCE¶
Applies to
SQL Server
Azure Synapse Analytics
Bemerkung
Einige Teile des Ausgabecodes wurden aus Gründen der Übersichtlichkeit weggelassen.
Beschreibung¶
Wertet die Argumente in der Reihenfolge aus und gibt den aktuellen Wert des ersten Ausdrucks zurück, der anfänglich nicht als NULL ausgewertet wird. Beispiel: SELECT COALESCE(NULL, NULL, ‚third_value‘, ‚fourth_value‘); gibt den dritten Wert zurück, da der dritte Wert der erste Wert ist, der nicht null ist. (COALESCE in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Beispiele¶
SQL Server¶
Ergebnis:
StartDate |
FIRST_NOT_NULL |
|---|---|
2009-01-14 |
2000-01-01 |
2008-01-31 |
2000-01-01 |
2007-11-11 |
2000-01-01 |
2007-12-05 |
2010-05-30 |
2010-05-31 |
2000-01-01 |
2008-01-06 |
2000-01-01 |
2008-01-24 |
2000-01-01 |
2009-02-08 |
2000-01-01 |
2008-12-29 |
2000-01-01 |
2009-01-16 |
2000-01-01 |
Snowflake SQL¶
Ergebnis:
StartDate |
FIRST_NOT_NULL |
|---|---|
2009-01-14 |
2000-01-01 |
2008-01-31 |
2000-01-01 |
2007-11-11 |
2000-01-01 |
2007-12-05 |
2010-05-30 |
2010-05-31 |
2000-01-01 |
2008-01-06 |
2000-01-01 |
2008-01-24 |
2000-01-01 |
2009-02-08 |
2000-01-01 |
2008-12-29 |
2000-01-01 |
2009-01-16 |
2000-01-01 |
CONCAT¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Erzeugt eine Verkettung von Zeichenfolgenwerten mit anderen. (CONCAT in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
JavaScript¶
Beispiele¶
SQL Server¶
Ausgabe:
TITLE |
|---|
Ray of Light |
Snowflake SQL¶
Ausgabe:
TITLE |
|---|
Ray of Light |
JavaScript¶
Ausgabe:
————| Ray of Light|
LEFT¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Gibt den rechten Teil einer Zeichenfolge mit der angegebenen Anzahl von Zeichen zurück. (RIGHT in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
JavaScript¶
Funktion zur Emulation des Verhaltens
Beispiele¶
SQL Server¶
Ausgabe:
FIRST_NAME |
|---|
John |
Snowflake SQL¶
Ausgabe:
FIRST_NAME |
|---|
John |
JavaScript¶
Ausgabe:
FIRST_NAME |
|---|
John |
LEN¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Gibt die Länge einer Zeichenfolge zurück (LEN in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
JavaScript¶
Beispiele¶
SQL Server¶
Ausgabe:
LEN |
|---|
11 |
Snowflake SQL¶
Ausgabe:
LEN |
|---|
11 |
JavaScript¶
Ausgabe:
LEN |
|---|
11 |
LOWER¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Konvertiert eine Zeichenfolge in Kleinbuchstaben (LOWER in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
JavaScript¶
Beispiele¶
SQL Server¶
Ausgabe:
LOWERCASE |
|---|
you are a prediction of the good ones |
Snowflake SQL¶
Ausgabe:
LOWERCASE |
|---|
you are a prediction of the good ones |
JavaScript¶
Ausgabe:
LOWERCASE |
|---|
you are a prediction of the good ones |
NCHAR¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Gibt das UNICODE Zeichen einer Ganzzahl zurück, die als Parameter gesendet wurde (NCHAR in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
expression: Ganzzahl-Ausdruck.
Return Type¶
Zeichenfolgenwert, er hängt von der empfangenen Eingabe ab.
Beispiele¶
Abfrage¶
Ergebnis¶
ª |
Bemerkung
Die Entsprechung für diese Funktion in JavaScript ist in CHAR dokumentiert.
REPLACE¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Ersetzt alle Vorkommen eines angegebenen Zeichenfolgenwertes durch einen anderen Zeichenfolgenwert. (REPLACE in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
JavaScript¶
Beispiele¶
SQL Server¶
Ausgabe:
Snowflake SQL¶
Ausgabe:
JavaScript¶
\ Ausgabe:
REPLICATE¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Wiederholt einen Zeichenfolgenwert eine bestimmte Anzahl von Malen (REPLICATE in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
JavaScript¶
Beispiele¶
SQL Server¶
Ergebnis:
Snowflake SQL¶
Ergebnis:
JavaScript¶
Ergebnis:
RIGHT¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Gibt den rechten Teil einer Zeichenfolge mit der angegebenen Anzahl von Zeichen zurück. (RIGHT in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
JavaScript¶
UDF verwendet, um die Verhaltensweise zu emulieren
Beispiele¶
SQL Server¶
Ausgabe:
Snowflake SQL¶
Ausgabe:
JavaScript¶
\ Ausgabe:
RTRIM¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Gibt einen Zeichenausdruck zurück, nachdem das führende Leerzeichen entfernt wurde (RTRIM in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
JavaScript¶
Benutzerdefinierte Funktion, um die Verhaltensweise zu emulieren
Beispiele¶
SQL Server¶
Eingabe:
Ausgabe:
Snowflake SQL¶
Ergebnis:
JavaScript¶
Ergebnis:
SPACE¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Gibt die Anzahl der Vorkommen von Leerzeichen zurück (SPACE in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
JavaScript¶
Benutzerdefinierte Funktion, um die Verhaltensweise zu emulieren
Beispiele¶
SQL Server¶
Eingabe:
Ausgabe:
Snowflake SQL¶
Eingabe:
Ausgabe:
JavaScript¶
Eingabe:
Ausgabe:
SUBSTRING¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Gibt einen Zeichenausdruck zurück, nachdem das führende Leerzeichen entfernt wurde (RTRIM in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
JavaScript¶
Benutzerdefinierte Funktion, um die Verhaltensweise zu emulieren
Beispiele¶
SQL Server¶
Eingabe:
Ausgabe:
Snowflake SQL¶
Ergebnis:
JavaScript¶
Ergebnis:
UPPER¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Konvertiert eine Zeichenfolge in Großbuchstaben (UPPER in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
JavaScript¶
Beispiele¶
SQL Server¶
Ausgabe:
Snowflake SQL¶
Ausgabe:
JavaScript¶
\ Ausgabe:
ASCII¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Gibt den Zahlencode eines Zeichens aus der Tabelle ASCII zurück (ASCII in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
Ausdruck: VARCVHAR oder CHAR Ausdruck.
Return Type¶
INT.
Beispiele¶
Abfrage¶
Ergebnis¶
ASCII in JS¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Diese Funktion gibt den Zahlencode eines Zeichens aus der Tabelle ASCII zurück (Dokumentation zur JavaScript-Funktion charCodeAt).
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
index(Optional): Index der Zeichenfolge, um das Zeichen zu erhalten und seine Codenummer in der Tabelle ASCII zurückzugeben. Wenn dieser Parameter nicht angegeben wird, ist die Voreinstellung 0. \
Return Type¶
Int.
Beispiele¶
Abfrage¶
Ergebnis¶
QUOTENAME¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Gibt eine durch Anführungszeichen begrenzte Zeichenfolge zurück (QUOTENAME in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
string_expression: Zeichenfolge zur Abgrenzung.
quote_character: ein Zeichen zur Abgrenzung der Zeichenfolge.
Return Type¶
NVARCHAR(258). Null, wenn sich das Anführungszeichen von (‚), ([]), („), ( () ), ( >< ), ({}) oder (`) unterscheidet.
Beispiele¶
Abfrage¶
Ergebnis¶
QUOTENAME in JS¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Leider ist diese Funktion in JavaScript nicht verfügbar, aber sie kann mit Hilfe von vordefinierten Funktionen implementiert werden.
Beispielhaftes Quellcode-Muster¶
Beispiel für die Implementierung¶
Argumente¶
string: Zeichenfolgenausdruck zur Abgrenzung.
quote: Anführungszeichen, die als Trennzeichen verwendet werden.
Return Type¶
Zeichenfolge
Beispiele¶
Abfrage¶
Ergebnis¶
CONCAT_WS¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Erzeugt eine Verkettung von Zeichenfolgenwerten mit anderen, wobei ein Trennzeichen zwischen ihnen verwendet wird (CONCAT_WS in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
separator: Trennzeichen zur Verknüpfung.
expression1, ... ,expressionN: Der zu suchende Ausdruck wird in eine Zeichenfolge umgewandelt.
Return Type¶
Zeichenfolgenwert, abhängig von der empfangenen Eingabe.
Beispiele¶
Abfrage¶
Ergebnis¶
Verknüpfung in JS¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Verkettet die Zeichenfolgenargumente mit der aufrufenden Zeichenfolge unter Verwendung eines Trennzeichens (Dokumentation zur JavaScript-Funktion Join).
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
separator: Zeichen zumr Verknüpfung.
Return Type¶
String.
Beispiele¶
Abfrage¶
Ergebnis¶
SOUNDEX¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Gibt einen vierstelligen Code zur Bewertung der Ähnlichkeit zweier Zeichenfolgen zurück (SOUNDEX in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
string_expression: Zeichenfolgenausdruck zum Umkehren.
Return Type¶
Derselbe Datentyp des als Parameter gesendeten Zeichenfolgenausdrucks.
Beispiele¶
Abfrage¶
Ergebnis¶
SOUNDEX in JS¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Leider stellt JavaScript keine Methode zur Verfügung, die den SOUNDEX-Algorithmus ausführt, aber er kann manuell implementiert werden.
Beispielhaftes Quellcode-Muster¶
Beispiel für die Implementierung¶
Argumente¶
word: Zeichenfolgenausdruck, um seine SOUNDEX Entsprechung zu erhalten.
Return Type¶
Zeichenfolge
Beispiele¶
Abfrage¶
Ergebnis¶
REVERSE¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Kehrt eine Zeichenfolge um (REVERSE in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
string_expression: Zeichenfolgenausdruck zum Umkehren.
Return Type¶
Derselbe Datentyp des als Parameter gesendeten Zeichenfolgenausdrucks.
Beispiele¶
Abfrage¶
Ergebnis¶
Umkehrung in JS¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Leider ist diese Funktion in JavaScript nicht verfügbar, aber sie kann mit Hilfe von vordefinierten Funktionen implementiert werden.
Beispielhaftes Quellcode-Muster¶
Beispiel für die Implementierung¶
Argumente¶
string: Umzukehrender Zeichenfolgenausdruck.
Return Type¶
Zeichenfolge
Beispiele¶
Abfrage¶
Ergebnis¶
STRING_ESCAPE¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Escape-Sonderzeichen in Texten und gibt den Text mit den Escape-Zeichen zurück. (STRING\ESCAPE in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
text: Text zum Ausblenden von Escape-Zeichen.
type: Format-Typ für Escape-Zeichen. Derzeit wird nur das Format JSON unterstützt.
Return Type¶
VARCHAR.
Beispiele¶
Abfrage¶
Ergebnis¶
Stringify in JS¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Konvertiert ein Objekt in ein JSON Zeichenfolgenformat (Dokumentation zur JavaScript-Funktion Stringify).
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
value: Zu konvertierender Objektausdruck.
Return Type¶
Zeichenfolge
Beispiele¶
Abfrage¶
Ergebnis¶
TRIM¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Gibt einen Zeichenausdruck ohne Leerzeichen zurück (TRIM in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
string_expression: Zu konvertierende Zeichenfolgenausdrücke.
Return Type¶
VARCHAR oder NVARCHAR
Beispiele¶
SQL Server¶
Ausgabe:
Snowflake SQL¶
Ausgabe:
Trim in JS¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Ersetzt die Vorkommen eines Musters durch ein neues, das als Parameter übergeben wird (Dokumentation zur JavaScript-Funktion Replace).
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
Diese Funktion erhält keine Parameter.
Return Type¶
Zeichenfolge
Beispiele¶
Abfrage¶
Ergebnis¶
DIFFERENCE¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Gibt eine ganze Zahl zurück, die den Unterschied zwischen zwei Zeichenfolgen unter Verwendung des SOUNDEX-Algorithmus misst (DIFFERENCE in Transact-SQL). \ Es zählt die gemeinsamen Zeichen der Zeichenfolgen, die sich aus der Ausführung des SOUNDEX-Algorithmus ergeben.
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
expression1, expression2: Zeichenfolgenausdrücke, die verglichen werden sollen.
Return Type¶
Int.
Beispiele¶
Abfrage¶
Ergebnis¶
DIFFERENCE in JS¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Leider ist diese Funktion in JS nicht verfügbar, aber sie kann leicht implementiert werden.
Bemerkung
Diese Funktion erfordert die Implementierung des SOUNDEX-Algorithmus.
Beispielhaftes Quellcode-Muster¶
Beispiel für die Implementierung¶
Argumente¶
strA, strB: Zeichenfolgenausdrücke, die durch die Ausführung des SOUNDEX-Algorithmus entstehen.
Return Type¶
String.
Beispiele¶
Abfrage¶
Ergebnis¶
FORMAT¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Gibt einen Wert zurück, der mit dem angegebenen Format und der optionalen Kultur formatiert ist (FORMAT in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
value: Zeichenfolgenausdrücke, die das Format angeben.
format: Gewünschtes Format.
culture (Optional): NVarchar Argument zur Angabe der Kultur. Wenn es nicht angegeben wird, werden die Sprachen der aktuellen Sitzung verwendet.
Return Type¶
NULL wenn der Culture-Parameter ungültig ist, andernfalls folgt er den nächsten Datentypen:
Kategorie |
.NET Typ |
|
|---|---|---|
Numerisch |
bigint |
Int64 |
Numerisch |
int |
Int32 |
Numerisch |
smallint |
Int16 |
Numerisch |
tinyint |
Byte |
Numerisch |
decimal |
SqlDecimal |
Numerisch |
numeric |
SqlDecimal |
Numerisch |
float |
Double |
Numerisch |
real |
Single |
Numerisch |
smallmoney |
Dezimalzahl |
Numerisch |
money |
Dezimalzahl |
Datum und Uhrzeit |
date |
DateTime |
Datum und Uhrzeit |
time |
TimeSpan |
Datum und Uhrzeit |
datetime |
DateTime |
Datum und Uhrzeit |
smalldatetime |
DateTime |
Datum und Uhrzeit |
datetime2 |
DateTime |
Datum und Uhrzeit |
datetimeoffset |
DateTimeOffset |
Beispiele¶
Abfrage¶
Ergebnis¶
Abfrage¶
Ergebnis¶
CURRENCY |
|---|
₡244.900,25 |
FORMAT in JS¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Es gibt verschiedene Funktionen zum Formatieren von Datums- und Ganzzahlwerten in JavaScript. Leider sind diese Funktionalitäten nicht in einer Methode integriert.
DateTime-Werte¶
Syntax¶
Argumente¶
locales (Optional): Zeichenfolgenausdruck des anzuwendenden Formats.
options (Optional): Objekt mit verschiedenen unterstützten Eigenschaften für Formate von numerischen Ausdrücken (Dokumentation zur JavaScript-Funktion NumberFormat).
value: Numerischer Ausdruck zum Formatieren.
Return Type¶
String.
Numerische Werte¶
Syntax¶
Argumente¶
locales (Optional): Zeichenfolgenausdruck des anzuwendenden Formats.
options (Optional): Objekt mit verschiedenen unterstützten Eigenschaften für Formate von numerischen Ausdrücken (Dokumentation zur JavaScript-Funktion NumberFormat).
value: Numerischer Ausdruck zum Formatieren.
Return Type¶
String.
Beispiele¶
DateTime¶
Abfrage¶
Ergebnis¶
Numerisch¶
Abfrage¶
Ergebnis¶
PATINDEX¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Gibt die Anfangsposition des ersten Vorkommens eines Musters in einem angegebenen Ausdruck zurück (PATINDEX in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
pattern: Muster zum Finden.
expression: Ausdruck für die Suche.
Return Type¶
Ganzzahl. Gibt 0 zurück, wenn das Muster nicht gefunden wird.
Beispiele¶
Abfrage¶
Ergebnis¶
Search in JS¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Findet den Index eines Musters mit REGEX (Dokumentation zurJavaScript-Suchfunktion).
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
regex: Regulärer Ausdruck, der mit dem gewünschten Muster übereinstimmt.
Return Type¶
Ganzzahl. Wenn das Muster mit keinem Teil der Zeichenfolge übereinstimmt, wird -1 zurückgegeben.
Beispiele¶
Abfrage¶
Ergebnis¶
STR¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Gibt Zeichendaten zurück, die aus numerischen Daten konvertiert wurden. Die Zeichendaten sind rechtsbündig, mit einer bestimmten Länge und Dezimalgenauigkeit. (STR in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Argumente¶
numeric_expression: Float-Ausdruck mit einem Dezimalpunkt.
length (Optional): Länge des zurückgegebenen Ausdrucks, einschließlich Punktschreibweise, Dezimal- und Fließkommateil.
decimal(Optional): Ist die Anzahl der Stellen rechts vom Dezimalpunkt.
Return Type¶
VARCHAR.
Beispiele¶
SQL Server¶
Eingabe:
Ausgabe:
Snowflake SQL¶
Eingabe:
Ausgabe:
STR in JS¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Leider ist diese Funktionalität in JS nicht verfügbar, aber sie kann mit den vordefinierten Funktionen für Zeichenfolgen leicht implementiert werden.
Beispielhaftes Quellcode-Muster¶
Beispiel für die Implementierung¶
Argumente¶
number: Float-Ausdruck mit einem Dezimalpunkt.
max_length: Länge, die der zurückgegebene Ausdruck haben darf, einschließlich Punkt-, Dezimal- und Fließkommateile.
float_precision: Ist die Anzahl der Stellen rechts vom Dezimalpunkt.
Return Type¶
Zeichenfolge
Beispiele¶
Abfrage¶
Ergebnis¶
LTRIM¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Gibt einen Zeichenausdruck zurück, nachdem das führende Leerzeichen entfernt wurde (LTRIM in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
string_expression: Zu konvertierende Zeichenfolgenausdrücke.
Return Type¶
VARCHAR oder NVARCHAR
Beispiele¶
Abfrage¶
Ergebnis¶
LTRIM in JS¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Leider ist diese Funktion in JavaScript nicht verfügbar, aber sie kann mit regulären Ausdrücken implementiert werden.
Beispielhaftes Quellcode-Muster¶
Beispiel für die Implementierung¶
Argumente¶
string: Zeichenfolgenausdruck, um Leerzeichen zu entfernen.
Return Type¶
Zeichenfolge
Beispiele¶
Abfrage¶
Ergebnis¶
Ranking-Funktionen¶
This section describes the functional equivalents of ranking functions in Transact-SQL to Snowflake SQL and JavaScript code, oriented to their usage in stored procedures in Snowflake.
DENSE_RANK¶
Applies to
SQL Server
Azure Synapse Analytics
Bemerkung
Einige Teile des Ausgabecodes wurden aus Gründen der Übersichtlichkeit weggelassen.
Beschreibung¶
Diese Funktion gibt den Rang jeder Zeile innerhalb einer Resultset-Partition zurück, ohne Lücken in den Rangwerten. Der Rang einer bestimmten Zeile ist eins plus die Anzahl der eindeutigen Rangwerte, die vor dieser bestimmten Zeile stehen. (DENSE_RANK in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Beispiele¶
SQL Server¶
Ergebnis:
Snowflake SQL¶
Ergebnis:
Zugehörige EWIs¶
[SSC-EWI-0001](../../general/technical-documentation/issues-and-troubleshooting/conversion-issues/generalEWI. md#ssc-ewi-0001): Unerkanntes Token in der Zeile des Quellcodes.
RANK¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Gibt den Rang jeder Zeile innerhalb der Partition eines Resultset zurück. Der Rang einer Zeile ist eins plus die Anzahl der Ränge, die vor der betreffenden Zeile liegen. (RANK in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Beispiele¶
SQL Server¶
Ergebnis:
Snowflake SQL¶
Ergebnis:
Zugehörige EWIs¶
[SSC-EWI-0001](../../general/technical-documentation/issues-and-troubleshooting/conversion-issues/generalEWI. md#ssc-ewi-0001): Unerkanntes Token in der Zeile des Quellcodes.
ROW_NUMBER¶
Applies to
SQL Server
Azure Synapse Analytics
Bemerkung
Einige Teile des Ausgabecodes wurden aus Gründen der Übersichtlichkeit weggelassen.
Beschreibung¶
Nummeriert die Ausgabe eines Resultsets. Genauer gesagt, gibt sie die fortlaufende Nummer einer Zeile innerhalb einer Partition eines Resultsets zurück, beginnend bei 1 für die erste Zeile in jeder Partition. (ROW\NUMBER in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Beispiele¶
SQL Server¶
Ausgabe:
Snowflake SQL¶
Ausgabe:
Zugehörige EWIs¶
[SSC-EWI-0001](../../general/technical-documentation/issues-and-troubleshooting/conversion-issues/generalEWI. md#ssc-ewi-0001): Unerkanntes Token in der Zeile des Quellcodes.
Logische Funktionen¶
This section describes the functional equivalents of logical functions in Transact-SQL to Snowflake SQL and JavaScript code, oriented to their usage in stored procedures in Snowflake.
IIF¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Gibt einen von zwei Werten zurück, je nachdem, ob der boolesche Ausdruck als „true“ oder „false“ ausgewertet wird. (IIF in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Beispiele¶
SQL Server¶
Ergebnis:
Snowflake SQL¶
Ergebnis:
XML-Funktionen¶
Dieser Abschnitt beschreibt die Übersetzung von XML-Funktionen in Transact-SQL zu Snowflake SQL.
Abfrage¶
Applies to
SQL Server
Warnung
Diese Transformation wird in der Zukunft stattfinden
Beschreibung¶
Gibt eine XQuery gegenüber einer Instanz des Datentyps xml an. Das Ergebnis ist vom Typ xml. Die Methode gibt eine Instanz von untypisiertem XML zurück. (Abfrage() in Transact-SQL)
Beispielhafte Quellcode-Muster ¶
Das folgende Beispiel zeigt die Transformation für .query( )
SQL Server ¶
Eingabe¶
Ausgabe¶
Snowflake SQL ¶
Eingabe¶
Ausgabe¶
Bekannte Probleme¶
Es wurden keine Probleme gefunden.
Zugehörige EWIs¶
[SSC-EWI-0036](../../general/technical-documentation/issues-and-troubleshooting/conversion-issues/generalEWI. md#ssc-ewi-0036): Datentyp in einen anderen Datentyp konvertiert.
Wert¶
Applies to
SQL Server
Warnung
Diese Transformation wird in der Zukunft stattfinden
Beschreibung¶
Führt eine XQuery gegen die XML durch und gibt einen Wert vom Typ SQL zurück. Diese Methode gibt einen skalaren Wert zurück. (value() in Transact-SQL).
Beispielhafte Quellcode-Muster ¶
Das folgende Beispiel beschreibt die Transformation für .value( )
SQL Server ¶
Eingabe¶
Ausgabe¶
Snowflake SQL ¶
Eingabe¶
Ausgabe¶
Bekannte Probleme¶
Es wurden keine Probleme gefunden.
Zugehörige EWIs¶
[SSC-EWI-0036](../../general/technical-documentation/issues-and-troubleshooting/conversion-issues/generalEWI. md#ssc-ewi-0036): Datentyp in einen anderen Datentyp konvertiert.
Aggregatfunktionen¶
Dieser Abschnitt beschreibt die funktionalen Äquivalente von Aggregatfunktionen in Transact-SQL zu Snowflake SQL und JavaScript Code, orientiert an der Erstellung von UDFs in Snowflake.
COUNT¶
Applies to
SQL Server
Azure Synapse Analytics
Bemerkung
Einige Teile des Ausgabecodes wurden aus Gründen der Übersichtlichkeit weggelassen.
Beschreibung¶
Diese Funktion gibt die Anzahl der gefundenen Artikel in einer Gruppe zurück. COUNT funktioniert wie die Funktion COUNT_BIG. Diese Funktionen unterscheiden sich nur durch die Datentypen ihrer Rückgabewerte. COUNT gibt immer einen Wert vom Datentyp „int“ zurück. COUNT_BIG gibt immer einen Wert vom Datentyp „bigint“ zurück. (COUNT in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Beispiele¶
SQL Server¶
Ergebnis:
TOTAL |
|---|
290 |
Snowflake SQL¶
Ergebnis:
TOTAL |
|---|
290 |
COUNT_BIG¶
Applies to
SQL Server
Azure Synapse Analytics
Bemerkung
Einige Teile des Ausgabecodes wurden aus Gründen der Übersichtlichkeit weggelassen.
Beschreibung¶
Diese Funktion gibt die Anzahl der gefundenen Artikel in einer Gruppe zurück. COUNT_BIG funktioniert wie die Funktion COUNT. Diese Funktionen unterscheiden sich nur durch die Datentypen ihrer Rückgabewerte. COUNT_BIG gibt immer einen Wert vom Datentyp „bigint“ zurück. COUNT gibt immer einen Wert vom Datentyp „int“ zurück. (COUNT_BIG in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Beispiele¶
SQL Server¶
Ergebnis:
TOTAL |
|---|
290 |
Snowflake SQL¶
Ergebnis:
TOTAL |
|---|
290 |
SUM¶
Applies to
SQL Server
Azure Synapse Analytics
Bemerkung
Einige Teile des Ausgabecodes wurden aus Gründen der Übersichtlichkeit weggelassen.
Beschreibung¶
Gibt die Summe aller Werte oder nur die Werte von DISTINCT in dem Ausdruck zurück. SUM kann nur mit numerischen Spalten verwendet werden. Nullwerte werden ignoriert. (SUM in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Beispiele¶
SQL Server¶
Ergebnis:
TOTALVACATIONHOURS |
|---|
14678 |
Snowflake SQL¶
Ergebnis:
TOTALVACATIONHOURS |
|---|
14678 |
Kundenspezifische SnowConvert AI-UDFs¶
Beschreibung¶
Einige Transact-SQL-Funktionen oder -Verhalten sind möglicherweise nicht verfügbar oder verhalten sich in Snowflake anders. Um diese Unterschiede zu minimieren, werden einige Funktionen durch kundenspezifische SnowConvert AI-UDFs ersetzt.
Diese UDFs werden während der Migration automatisch erstellt, und zwar im Ordner UDF-Hilfsfunktion, innerhalb des Ordners Ausgabe. Es gibt eine Datei pro benutzerdefinierter UDF.
OPENXML UDF¶
Applies to
SQL Server
Azure Synapse Analytics
Bemerkung
Einige Teile des Ausgabecodes wurden aus Gründen der Übersichtlichkeit weggelassen.
Beschreibung¶
Diese benutzerdefinierte UDF wird hinzugefügt, um eine Rowset-Ansicht über ein XML Dokument zu verarbeiten. Dies würde für Deklarationen in verwendet werden, da es als Rowset-Anbieter funktioniert.
Optionale Parameter und verschiedene Knotentypen werden in dieser Version von UDF nicht unterstützt. Der Elementknoten wird standardmäßig verarbeitet.
Benutzerdefinierte UDF-Überlastungen¶
Parameter
XML: Ein
VARCHAR, der den lesbaren Inhalt der XML darstellt.PATH: Ein Varchar, der das Muster der Knoten enthält, die als Zeilen verarbeitet werden sollen.
UDF¶
Transact-SQL¶
Abfrage¶
Ergebnis¶
Snowflake¶
Bemerkung
Das folgende Beispiel ist in einer gespeicherten Prozedur isoliert, da Umgebungsvariablen nur 256 Byte Speicherplatz unterstützen und der XML-Demo-Code mehr als diese Grenze verwendet.
Abfrage¶
Ergebnis¶
CustomerID |
ContactName |
|---|---|
VINET |
Paul Henriot |
LILAS |
Carlos Gonzlez |
Abfrage¶
Ergebnis¶
CustomerID |
ContactName |
|---|---|
VINET |
Paul Henriot |
Bekannte Probleme¶
Es wurden keine Probleme gefunden.
Zugehörige EWIs¶
[SSC-EWI-TS0075](../../general/technical-documentation/issues-and-troubleshooting/conversion-issues/sqlServerEWI. md#ssc-ewi-ts0075): Integrierte Prozedur wird nicht unterstützt.
STR UDF¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Diese benutzerdefinierte UDF wandelt numerische Daten in Zeichendaten um.
Benutzerdefinierte UDF-Überlastungen¶
Parameter¶
FLOAT_EXPR: Ein numerischer Ausdruck, der in Varchar konvertiert werden soll.
FORMAT: Ein Varchar-Ausdruck mit der Länge und der Anzahl der Dezimalstellen des resultierenden Varchar-Wertes. Dieses Format wird automatisch in SnowConvert generiert.
UDF¶
Transact-SQL¶
Abfrage¶
Ergebnis¶
A |
B |
C |
D |
|---|---|---|---|
124 |
** |
123 |
123,5 |
Snowflake¶
Abfrage¶
SWITCHOFFSET_UDF¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Diese benutzerdefinierte UDF wird hinzugefügt, um einen datetimeoffset-Wert zurückzugeben, der von dem gespeicherten Zeitzonenoffset auf einen angegebenen neuen Zeitzonenoffset geändert wird.
Benutzerdefinierte UDF-Überlastungen¶
Parameter
source\_timestamp: Ein TIMESTAMP_TZ, der in einen datetimeoffset(n)-Wert aufgelöst werden kann.
target_tz: Ein Varchar, der den Zeitzonenoffset darstellt
UDF¶
Transact-SQL¶
Abfrage¶
Ergebnis¶
Snowflake¶
Abfrage¶
Ergebnis¶
fr_time |
cr_time |
|---|---|
1998-09-20 7:45:50.71345 +02:00 |
1998-09-19 23:45:50.7134500 -06:00 |
Metadatenfunktionen¶
This section describes the functional equivalents of metadata functions in Transact-SQL to Snowflake SQL and JavaScript code, oriented to their usage in stored procedures in Snowflake.
DB_NAME¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Diese Funktion gibt den Namen einer angegebenen Datenbank zurück. (DB_NAME in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Beispiele¶
SQL Server¶
Ergebnis:
RESULT |
|---|
ADVENTUREWORKS2019 |
Snowflake SQL¶
Ergebnis:
RESULT |
|---|
ADVENTUREWORKS2019 |
Bekannte Probleme¶
1. Die CURRENT\DATABASE-Funktion verhält sich in bestimmten Fällen anders
DB_NAME function can be invoked with the database_id parameter, which returns the name of the specified database. Without parameters, the function returns the current database name. However, Snowflake does not support this parameter and the CURRENT_DATABASE function will always return the current database name.
Zugehörige EWIs¶
[SSC-FDM-TS0010](../../general/technical-documentation/issues-and-troubleshooting/functional-difference/sqlServerFDM. md#ssc-fdm-ts0010): CURRENT_DATABASE-Funktion verhält sich in bestimmten Fällen anders.
OBJECT_ID¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Diese Funktion gibt die Datenbankobjekt-Identifikationsnummer eines Objekts zurück, das in einem Schema enthalten ist.(OBJECT_ID in Transact-SQL).
SQL Server-Syntax¶
Beispielhafte Quellcode-Muster¶
1. Default transformation¶
SQL Server¶
Snowflake SQL¶
2. Unknown database¶
SQL Server¶
Snowflake SQL¶
3. Different object names¶
SQL Server¶
Snowflake SQL¶
Bekannte Probleme¶
1. Die OBJECT_ID\_UDF-Funktion hat in bestimmten Fällen ein anderes Verhalten
OBJECT_ID gibt die Objektidentifikationsnummer zurück, aber OBJECT_ID\_UDF gibt einen booleschen Wert zurück, so dass sie nur dann gleichwertig sind, wenn OBJECT\_ID mit der Bedingung not null verwendet wird.
Zugehörige EWIs¶
[SSC-EWI-0001](../../general/technical-documentation/issues-and-troubleshooting/conversion-issues/generalEWI. md#ssc-ewi-0001): Unerkanntes Token in der Zeile des Quellcodes.
[SSC-FDM-0007](../../general/technical-documentation/issues-and-troubleshooting/functional-difference/generalFDM. md#ssc-fdm-0007): Element mit fehlenden Abhängigkeiten
Analysefunktionen¶
Dieser Abschnitt beschreibt die funktionalen Äquivalente von Analysefunktionen in Transact-SQL zu Snowflake SQL und JavaScript Code, orientiert an der Erstellung von UDFs in Snowflake.
LAG¶
Applies to
SQL Server
Azure Synapse Analytics
Bemerkung
Einige Teile des Ausgabecodes wurden aus Gründen der Übersichtlichkeit weggelassen.
Beschreibung¶
Greift auf Daten aus einer früheren Zeile desselben Resultsets zu, ohne dass eine Selbstverknüpfung verwendet werden muss, die mit SQL Server 2012 (11.x) beginnt. LAG ermöglicht den Zugriff auf eine Zeile mit einem bestimmten physischen Offset, der vor der aktuellen Zeile liegt. Verwenden Sie diese Analysefunktion in einer SELECT-Anweisung zum Vergleichen von Werten in der aktuellen Zeile mit Werten in einer vorherigen Zeile. (COUNT in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Beispiele¶
SQL Server¶
Ergebnis:
PREVIOUS |
ACTUAL |
|---|---|
NULL |
10 |
10 |
89 |
89 |
10 |
10 |
48 |
48 |
0 |
0 |
95 |
95 |
55 |
55 |
67 |
67 |
84 |
84 |
85 |
Snowflake SQL¶
Ergebnis:
PREVIOUS |
ACTUAL |
|---|---|
NULL |
10 |
10 |
89 |
89 |
10 |
10 |
48 |
48 |
0 |
0 |
95 |
95 |
55 |
55 |
67 |
67 |
84 |
84 |
85 |
Datentypfunktionen¶
Dieser Abschnitt beschreibt die funktionalen Äquivalente von Datentypfunktionen in Transact-SQL zu Snowflake SQL und JavaScript Code.
DATALENGTH¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Diese Funktion gibt die Anzahl der Bytes zurück, die zur Darstellung eines beliebigen Ausdrucks verwendet werden. (DATALENGTH in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Beispiele¶
SQL Server¶
Ergebnis:
SIZE |
|---|
10 |
Snowflake SQL¶
Ergebnis:
SIZE |
|---|
10 |
Mathematische Funktionen¶
This section describes the functional equivalents of mathematical functions in Transact-SQL to Snowflake SQL and JavaScript code, oriented to their usage in stored procedures in Snowflake.
ABS¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Eine mathematische Funktion, die den absoluten (positiven) Wert des angegebenen numerischen Ausdrucks zurückgibt. (ABS wandelt negative Werte in positive Werte um. ABS hat keine Auswirkungen auf Null- oder positive Werte.) (ABS in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
JavaScript¶
Beispiele¶
SQL Server¶
Ergebnis:
ABS(-5) |
|---|
5 |
Snowflake SQL¶
Ergebnis:
ABS(-5) |
|---|
5 |
JavaScript¶
Ergebnis:
COMPUTE_ABS(-5) |
|---|
5 |
AVG¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Bemerkung
Der Code-Abschnitt für SnowConvert AI-Hilfefunktionen wird weggelassen.
Diese Funktion gibt den Durchschnitt der Werte in einer Gruppe zurück. Es ignoriert Nullwerte. (AVG in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Beispiele¶
SQL Server¶
Ergebnis:
AVG_VACATIONS |
|---|
50 |
Snowflake SQL¶
Ergebnis:
AVG_VACATIONS |
|---|
50 |
CEILING¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Eine mathematische Funktion, die die kleinste größere ganze Zahl zurückgibt, die größer/gleich der als Parameter übergebenen Zahl ist (CEILING in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
JavaScript¶
Beispiele¶
SQL Server¶
Ergebnis:
CEILING(642.20) |
|---|
643 |
Snowflake SQL¶
Ergebnis:
CEIL(642.20) |
|---|
643 |
JavaScript¶
Ergebnis:
FLOOR¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Gibt die größte ganze Zahl zurück, die kleiner oder gleich dem angegebenen numerischen Ausdruck ist. (FLOOR in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Beispiele¶
SQL Server¶
Ergebnis:
Snowflake SQL¶
Ergebnis:
POWER¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Gibt den Wert des angegebenen Ausdrucks in der angegebenen Potenz zurück. (POWER in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Beispiele¶
SQL Server¶
Ergebnis:
Snowflake SQL¶
Ergebnis:
Zugehörige Dokumentation¶
ROUND¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Gibt einen numerischen Wert zurück, gerundet auf die angegebene Länge oder Genauigkeit. (ROUND in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Beispiele¶
SQL Server¶
Ergebnis:
Snowflake SQL¶
Ergebnis:
Zugehörige Dokumentation¶
SQRT¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Gibt die Quadratwurzel des angegebenen Gleitkommawerts zurück. (SQRT in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Beispiele¶
SQL Server¶
Ergebnis:
Snowflake SQL¶
Ergebnis:
SQUARE¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Gibt das Quadrat des angegebenen Gleitkommawerts zurück. (SQUARE in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Beispiele¶
SQL Server¶
Ergebnis:
Snowflake SQL¶
Ergebnis:
STDEV¶
Applies to
SQL Server
Azure Synapse Analytics
Bemerkung
Einige Teile des Ausgabecodes wurden aus Gründen der Übersichtlichkeit weggelassen.
Beschreibung¶
Gibt die statistische Standardabweichung aller Werte im angegebenen Ausdruck zurück. (STDEV in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Beispiele¶
SQL Server¶
Ergebnis:
Snowflake SQL¶
Ergebnis:
STDEVP¶
Applies to
SQL Server
Azure Synapse Analytics
Bemerkung
Einige Teile des Ausgabecodes wurden aus Gründen der Übersichtlichkeit weggelassen.
Beschreibung¶
Liefert die statistische Standardabweichung für die Grundgesamtheit für alle Werte im angegebenen Ausdruck. (STDVEP in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Beispiele¶
SQL Server¶
Ergebnis:
Snowflake SQL¶
Ergebnis:
VAR¶
Applies to
SQL Server
Azure Synapse Analytics
Bemerkung
Einige Teile des Ausgabecodes wurden aus Gründen der Übersichtlichkeit weggelassen.
Beschreibung¶
Gibt die statistische Varianz aller Werte im angegebenen Ausdruck zurück. (VAR in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Beispiele¶
SQL Server¶
Ergebnis:
Snowflake SQL¶
Ergebnis:
POWER¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Gibt den Wert des angegebenen Ausdrucks für eine bestimmte Potenz zurück.\ (POWER in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
base: Basis der Zahl, es muss ein Float-Ausdruck sein.\ exp: Potenz, mit der die Basis erhöht wird.
Return Type¶
Der Rückgabetyp hängt von dem Eingabeausdruck ab:
| Input Type | Return Type |
|---|---|
| float, real | float |
| decimal(p, s) | decimal(38, s) |
| int, smallint, tinyint | int |
| bigint | bigint |
| money, smallmoney | money |
| bit, char, nchar, varchar, nvarchar | float |
Beispiele¶
Abfrage¶
Ergebnis¶
POW in JS¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Gibt die Basis der Potenz des Exponenten zurück. (Dokumentation zur JavaScript-Funktion POW).
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
base: Basis der Zahl, es muss ein Float-Ausdruck sein.\ exp: Potenz, mit der die Basis erhöht wird.
Return Type¶
Derselbe Datentyp, der über den Parameter als numerischer Ausdruck gesendet wird.
Beispiele¶
Abfrage¶
Ergebnis¶
ACOS¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Funktion, die den Arkosinus im Bogenmaß der als Parameter übergebenen Zahl zurückgibt (ACOS in Transact-SQL).
Mathematisch gesehen ist der Arkosinus die Umkehrfunktion des Kosinus, woraus sich die folgende Definition ergibt:\ $$y = cos^{-1} \Linksrechtspfeil x = cos(y)$$
Für $$y = cos^{-1}(x)$$:\ - Bereich: $$0\leqslant y \leqslant \pi$$ oder $$0^{\circ}\leqslant y \leqslant 180^{\circ}$$\ - Bereich: $$-1\leqslant x \leqslant 1$$
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
expression: Numerischer Float-Ausdruck, wobei der Ausdruck in $$[-1,1]$$ liegt.
Return Type¶
Numerischer Float-Ausdruck zwischen 0 und π. Wenn der per Parameter gesendete numerische Ausdruck außerhalb des Bereichs $$[-1, 1]$$ liegt, gibt die Datenbankmaschine einen Fehler aus.
Beispiele¶
Abfrage¶
Ergebnis¶
ACOS in JS¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Funktion, die den Arkosinus einer bestimmten Zahl zurückgibt. (Dokumentation zur JavaScript-Funktion ACOS).
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
expression: Numerischer Ausdruck, wobei der Ausdruck in $$[-1,1]$$ liegt.
Return Type¶
Numerischer Ausdruck zwischen 0 und π. Wenn der als Parameter übergebene numerische Ausdruck außerhalb des Bereichs des Arkosinus im Bogenmaß $$[-1, 1]$$ liegt, gibt die Funktion NaN zurück.
Beispiele¶
Abfrage¶
Ergebnis¶
ASIN¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Funktion, die den Arkussinus im Bogenmaß der als Parameter übergebenen Zahl zurückgibt (ASIN in Transact-SQL).
Der Arkussinus ist die Umkehrfunktion des Sinus, zusammengefasst in der folgenden Definition:\ $$y = sin^{-1} \Linksrechtspfeil x = sin(x)$$
Für $$y = sin^{-1}(x)$$:\ - Bereich: $$-\frac{\pi}{2}\leqslant y \leqslant \frac{\pi}{2}$$ oder $$-90^{\circ}\leqslant y \leqslant 90^{\circ}$$$ - Bereich: $$-1\leqslant x \leqslant 1$$
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
expression: Numerischer Float-Ausdruck, wobei der Ausdruck in $$[-1,1]$$ liegt.
Return Type¶
Numerischer Float-Ausdruck zwischen $$-\frac{\pi}{2}$$ und $$\frac{\pi}{2}$$. Wenn der als Parameter gesendete numerische Ausdruck nicht in $$[-1, 1]$$ liegt, gibt die Datenbank-Engine einen Fehler aus.
Beispiele¶
Abfrage¶
Ergebnis¶
ASIN in JS¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Funktion, die den Arkussinus einer bestimmten Zahl zurückgibt. (Dokumentation zurJavaScript-Funktion ASIN).
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
expression: Numerischer Ausdruck, wobei der Ausdruck in $$[-1,1]$$ liegt.
Return Type¶
Numerischer Ausdruck zwischen $$-\frac{\pi}{2}$$ und $$\frac{\pi}{2}$$. Wenn der als Parameter übergebene numerische Ausdruck außerhalb des Bereichs des Arkosinus $$[-1, 1]$$ liegt, gibt die Funktion NaN zurück.
Beispiele¶
Abfrage¶
Ergebnis¶
COS¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Funktion, die den Kosinus des über Parameter gesendeten Winkels zurückgibt (muss im Bogenmaß gemessen werden) (COS in Transact-SQL).
Der Kosinus ist definiert als:\ $$y = cos(x)$$\ Wo:\ - Bereich: $$-1\leqslant y \leqslant 1$$- Bereich: $$\mathbb{R}$$
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
expression: Numerischer Float-Ausdruck, wobei Ausdruck in $$\mathbb{R}$$ ist.
Return Type¶
Numerischer Float-Ausdruck in $$[-1, 1]$$.
Beispiele¶
Abfrage¶
Ergebnis¶
COS in JS¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Statische Funktion, die den Kosinus eines Winkels im Bogenmaß zurückgibt (Dokumentation zurJavaScript COS-Funktion).
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
expression: Numerische Ausdrücke.
Return Type¶
Derselbe Datentyp, der über den Parameter als numerischer Ausdruck gesendet wird.
Beispiele¶
Abfrage¶
Ergebnis¶
COT¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Gibt den Kotangens des Winkels im Bogenmaß zurück, der über die Parameter (COT in Transact-SQL) gesendet wird.
Der Kosinus ist definiert als:\ $$cot(x) = \frac{cos(x)}{sin(x)}$$ oder $$cot(x) = \frac{1}{tan(x)}$$\ Um den Kosinus zu berechnen, muss der Parameter den Einschränkungen der Funktionen Sinus und Kosinus entsprechen.
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
expression: Numerischer Float-Ausdruck, wobei Ausdruck in $$\mathbb{R}-{sin(expression)=0 \wedge tan(expression) =0}$$ ist.
Return Type¶
Numerischer Float-Ausdruck in $$\mathbb{R}$$.
Beispiele¶
Abfrage¶
Ergebnis¶
COT in JS¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Leider bietet das Objekt Mathin JavaScript keine Methode zur Berechnung des Kotangens eines gegebenen Winkels.\ Dies könnte mit der Gleichung: $$cot(x) = \frac{cos(x)}{sin(x)}$$ berechnet werden
Beispielhaftes Quellcode-Muster¶
Beispiel für die Implementierung¶
Argumente¶
angle: Numerischer Ausdruck im Bogenmaß.
Return Type¶
Derselbe Datentyp, der über den Parameter als numerischer Ausdruck gesendet wird.
Beispiele¶
Abfrage¶
Ergebnis¶
RADIANS¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Konvertiert Grad in Bogenmaß.\ (RADIANS in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
expression: Numerischer Ausdruck in Grad.
Return Type¶
Derselbe Datentyp wird über den Parameter als numerischer Ausdruck im Bogenmaß gesendet.
Beispiele¶
Abfrage¶
Ergebnis¶
RADIANS(180) |
|---|
3.141592653589793116 |
Bemerkung
Wandeln Sie den Parameter dieser Funktion in einen Gleitkommawert um, andernfalls gibt die obige Anweisung 3 statt des Wertes PI zurück.
RADIANS in JS¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
JavaScript stellt keine Methode zur Umrechnung von Grad in Bogenmaß eines bestimmten Winkels zur Verfügung. Dies könnte mit der folgenden Gleichung berechnet werden: $$Bogenmaß = \frac{\pi}{180^{\circ}} \cdot Winkel$$
Beispielhaftes Quellcode-Muster¶
Beispiel für die Implementierung¶
Argumente¶
winkel: Fließkomma-Ausdruck in Grad.
Return Type¶
Derselbe Datentyp wird über den Parameter als numerischer Ausdruck im Bogenmaß gesendet.
Beispiele¶
Abfrage¶
Ergebnis¶
RADIANS(180) |
|---|
3.141592654 |
PI¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Liefert den konstanten Wert von PI\ (PI in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
Diese Methode erhält keine Parameter.
Return Type¶
Float.
Beispiele¶
Abfrage¶
Ergebnis¶
PI in JS¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Konstante, die die Zahl PI darstellt (ungefähr 3,141592…)\ (JavaScript PI-Dokumentation).
Beispielhaftes Quellcode-Muster¶
Syntax¶
Beispiele¶
Abfrage¶
Ergebnis¶
DEGREES¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Konvertiert den über Parameter gesendeten Winkel im Bogenmaß in Grad (DEGREES in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
expression: Numerischer Float-Ausdruck im Bogenmaß.
Return Type¶
Derselbe Datentyp, der über den Parameter als numerischer Ausdruck gesendet wird.
Beispiele¶
Abfrage¶
Ergebnis¶
DEGREES in JS¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
JavaScript stellt keine Methode zur Umrechnung von Bogenmaß in Grad eines bestimmten Winkels zur Verfügung. Dies könnte mit der folgenden Gleichung berechnet werden: $$Grad = \frac{180^{\circ}}{\pi} \cdot angle$$
Beispielhaftes Quellcode-Muster¶
Beispiel für die Implementierung¶
Argumente¶
angle: Numerischer Ausdruck im Bogenmaß.
Return Type¶
Derselbe Datentyp, der über den Parameter als numerischer Ausdruck gesendet wird.
Beispiele¶
Abfrage¶
Ergebnis¶
LOG¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Liefert den natürlichen Logarithmus einer Zahl\ (LOG in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
expression: Numerischer Ausdruck.
basis (optional): Basis für die Berechnung des Logarithmus einer Zahl, standardmäßig ist dies die Euler-Basis.
Return Type¶
Float.
Beispiele¶
Abfrage¶
Ergebnis¶
LOG in JS¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Liefert den Logarithmus unter Verwendung der Eulerschen Zahl als Basis. (Dokumentation zur JavaScript-Funktion LOG).
Warnung
Leider bietet JavaScript keine Methode, die eine Logarithmusbasis über ihre Parameter empfängt, aber das lässt sich lösen, indem man die Basis durch das Argument dividiert.
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
expression: Numerischer Ausdruck. Er muss positiv sein, andernfalls wird NaN zurückgegeben.\
Return Type¶
Derselbe Datentyp, der über den Parameter als numerischer Ausdruck gesendet wird.
Beispiele¶
Abfrage¶
Ergebnis¶
ATAN¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Funktion, die den Arkustangens im Bogenmaß der als Parameter übergebenen Zahl zurückgibt (ATAN in Transact-SQL).
Der Arkustangens ist die Umkehrfunktion des Tangens, zusammengefasst in der folgenden Definition:\ $$y = arctan^{-1} \Leftrightarrow x = tan(x)$$
Für $$y = tan^{-1}(x)$$:\ - Bereich: $$-\frac{\pi}{2}\leqslant y \leqslant \frac{\pi}{2}$$ oder $$-90^{\circ}\leqslant y \leqslant 90^{\circ}$$$\ - Bereich: $$\mathbb{R}$$
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
expression: Numerischer Float-Ausdruck, oder ein numerischer Typ, der in Float konvertiert werden kann.
Return Type¶
Numerischer Float-Ausdruck zwischen $$-\frac{\pi}{2}$$ und $$\frac{\pi}{2}$$.
Beispiele¶
Abfrage¶
Ergebnis¶
ATAN in JS¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Funktion, die den Arkustangens einer bestimmten Zahl zurückgibt. (Dokumentation zur JavaScript-Funktion ATAN).
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
expression: Numerischer Ausdruck.
Return Type¶
Numerischer Ausdruck zwischen $$-\frac{\pi}{2}$$ und $$\frac{\pi}{2}$$.
Beispiele¶
Abfrage¶
Ergebnis¶
ATN2¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Funktion, die den Arkustangens im Bogenmaß von zwei als Parameter übergebenen Koordinaten zurückgibt (ATN2 in Transact-SQL).
Für $$z = tan^{-1}(x, y)$$:\ - Bereich: $$-\pi\leqslant z \leqslant \pi$$ oder $$-180^{\circ}\leqslant z \leqslant 180^{\circ}$$\ - Bereich: $$\mathbb{R}$$
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
expression1und expression2: Numerische Ausdrücke.
Return Type¶
Numerischer Ausdruck zwischen $$-\pi$$ und $$\pi$$.
Beispiele¶
Abfrage¶
Ergebnis¶
ATAN2 in JS¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Funktion, die den Arkustangens von zwei Parametern zurückgibt. (Dokumentation zur JavaScript-Funktion ATAN2).
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
expression_1und expression_2: Numerische Ausdrücke.
Return Type¶
Numerischer Ausdruck zwischen $$-\pi$$ und $$\pi$$.
Beispiele¶
Abfrage¶
Ergebnis¶
LOG10¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Liefert den Logarithmus zur Basis 10 einer Zahl\ (LOG10 in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
expression: Numerischer Ausdruck, muss positiv sein.
Return Type¶
Float.
Beispiele¶
Abfrage¶
Ergebnis¶
LOG10 in JS¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Liefert den Logarithmus zur Basis 10 einer Zahl\ (Dokumentation zur JavaScript-Funktion LOG10).
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
expression: Numerischer Ausdruck. Er muss positiv sein, andernfalls wird NaN zurückgegeben.\
Return Type¶
Derselbe Datentyp, der über den Parameter als numerischer Ausdruck gesendet wird.
Beispiele¶
Abfrage¶
Ergebnis¶
EXP¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Liefert den Exponentialwert von Euler (EXP in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
Argumente¶
expression: Numerischer Ausdruck.
Return Type¶
Derselbe Datentyp, der über den Parameter als numerischer Ausdruck gesendet wird.
Beispiele¶
Abfrage¶
Ergebnis¶
EXP in JS¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Konstante, die die Eulersche Zahl darstellt (ungefähr 2,718…)\ (Dokumentation zur JavaScript Eulersche Zahl). \ JavaScript ermöglicht verschiedene Operationen mit dieser Konstante, anstelle von Transact-SQL, das nur das Exponential von Euler unterstützt.
Beispielhaftes Quellcode-Muster¶
Syntax¶
Beispiele¶
Abfrage¶
Ergebnis¶
Konvertierungsfunktionen¶
Dieser Abschnitt beschreibt die funktionalen Äquivalente von Datum/Uhrzeit-Funktionen in Transact-SQL zu Snowflake SQL-Code.
CONVERT¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Konvertieren Sie einen Ausdruck von einem Datentyp in einen anderen. (CONVERT in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Beispiele¶
SQL Server¶
Ergebnis¶
MyDate |
|---|
1998 |
Snowflake SQL¶
Ergebnis¶
MYDATE |
|---|
1998 |
Datumstyp in Varchar umwandeln¶
SQL Server¶
Ergebnis¶
RESULT |
|---|
12/08/22 |
Snowflake SQL¶
Ergebnis¶
RESULT |
|---|
12/08/22 |
Datumstyp in Varchar mit Größe umwandeln¶
SQL Server¶
Ergebnis¶
RESULT |
|---|
07 |
Snowflake SQL¶
Ergebnis¶
RESULT |
|---|
07 |
Die unterstützten Formate für Datumsübertragungen sind:
Datumsformate
Code |
Format |
|---|---|
1 |
mm/dd/yy |
2 |
yy.mm.dd |
3 |
dd/mm/yy |
4 |
dd.mm.yy |
5 |
dd-mm-yy |
6 |
dd-Mon-yy |
7 |
Mon dd, yy |
10 |
mm-dd-yy |
11 |
yy/mm/dd |
12 |
yymmdd |
23 |
yyyy-mm-dd |
101 |
mm/dd/yyyy |
102 |
yyyy.mm.dd |
103 |
dd/mm/yyyy |
104 |
dd.mm.yyyy |
105 |
dd-mm-yyyy |
106 |
dd Mon yyyy |
107 |
Mon dd, yyyy |
110 |
mm-dd-yyyy |
111 |
yyyy/mm/dd |
112 |
yyyymmdd |
Uhrzeitformate
Code |
Format |
|---|---|
8 |
hh:mm:ss |
14 |
hh:mm:ss:ff3 |
24 |
hh:mm:ss |
108 |
hh:mm:ss |
114 |
hh:mm:ss:ff3 |
Datums- und Uhrzeitformate
0 |
Mon dd yyyy hh:mm AM/PM |
9 |
Mon dd yyyy hh:mm:ss:ff3 AM/PM |
13 |
dd Mon yyyy hh:mm:ss:ff3 AM/PM |
20 |
yyyy-mm-dd hh:mm:ss |
21 |
yyyy-mm-dd hh:mm:ss:ff3 |
22 |
mm/dd/yy hh:mm:ss AM/PM |
25 |
yyyy-mm-dd hh:mm:ss:ff3 |
100 |
Mon dd yyyy hh:mm AM/PM |
109 |
Mon dd yyyy hh:mm:ss:ff3 AM/PM |
113 |
dd Mon yyyy hh:mm:ss:ff3 |
120 |
yyyy-mm-dd hh:mm:ss |
121 |
yyyy-mm-dd hh:mm:ss:ff3 |
126 |
yyyy-mm-dd T hh:mm:ss:ff3 |
127 |
yyyy-mm-dd T hh:mm:ss:ff3 |
Daten nach dem islamischen Kalender
Code |
Format |
|---|---|
130 |
dd mmm yyyy hh:mi:ss:ff3 AM/PM |
131 |
dd mmm yyyy hh:mi:ss:ff3 AM/PM |
Wenn es kein Muster gibt, das mit dem aktuellen Code übereinstimmt, wird er in yyyy-mm-dd hh:mm:ss formatiert
Converting string to DATE or DATETIME with style¶
When CONVERT targets a DATE, DATETIME, or DATETIME2 type and includes a literal style code, SnowConvert AI maps it to TO_DATE or TO_TIMESTAMP with the corresponding Snowflake format string.
SQL Server¶
Snowflake SQL¶
The following table shows which target types produce TO_DATE versus TO_TIMESTAMP:
Target Type |
Snowflake Function |
|---|---|
DATE |
TO_DATE |
DATETIME |
TO_TIMESTAMP |
DATETIME2 |
TO_TIMESTAMP |
Converting VARBINARY / BINARY with style¶
When converting to VARBINARY or BINARY with a hex style (1 or 2), SnowConvert AI maps to TO_BINARY(expr, 'HEX'). Style 0 (default/ASCII) maps to a plain CAST. For VARBINARY(MAX), the outer CAST is omitted.
SQL Server¶
Snowflake SQL¶
Converting with a dynamic style variable¶
When the style argument is a variable or expression instead of a literal, SnowConvert AI cannot determine the format string at conversion time. The function falls back to CAST and emits SSC-EWI-TS0098.
SQL Server¶
Snowflake SQL¶
Zugehörige EWIs¶
SSC-EWI-TS0098: CONVERT with a non-literal style cannot be mapped to a Snowflake format string.
TRY_CONVERT¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Gibt einen in den angegebenen Datentyp umgewandelten Wert zurück, wenn die Umwandlung erfolgreich war; andernfalls wird null zurückgegeben.
(SQL Server-Referenz: TRY_CONVERT)
Syntax¶
Quellcode-Muster¶
Grundlegende Transformation¶
To transform this function, we have to check the parameters of the TRY_CONVERT first.
Wenn der Ausdruck, der umgewandelt werden muss, eine Zeichenfolge ist, wird er in TRY_CAST umgewandelt, was eine Funktion von Snowflake ist.
TRY_CAST¶
TRY_CAST hat die gleiche Transformation wie TRY_CONVERT.
Beispiel¶
Sql Server¶
Das Ergebnis ist dasselbe wie bei dem Beispiel von TRY_CONVERT.
Snowflake¶
Bekannte Probleme¶
Wenn der Datentyp Varchar oder Char ist, wird er anders umgewandelt.
Wenn TRY_CAST zusammen mit VARCHAR oder CHAR in Snowflake verwendet wird, führt dies zu einem Fehler, so dass es in
Dasselbe geschieht mit den Datentypen von SQL_VARIANT und GEOGRAPHY.
Werden umgewandelt in
Wenn der Ausdruck keine Zeichenfolge ist, besteht eine sehr hohe Wahrscheinlichkeit, dass er fehlschlägt, da TRY_CAST von Snowflake nur mit Zeichenfolgenausdrücken funktioniert.
In diesem Fall wird eine weitere Transformation durchgeführt
Wird umgewandelt in
Bei diesen Transformationen kann es zu Problemen kommen, je nachdem, was mit den Funktionen gemacht wird. TRY_CONVERT von SqlServer gibt Nullen zurück, wenn die Konvertierung nicht möglich war.
Dies kann verwendet werden, um eine Logik wie diese auszuführen
Diese Art von Bedingungen mit TRY_CONVERT kann mit TRY_CAST verwendet werden, aber was passiert, wenn es in TO\_VARCHAR, TOCHAR oder in CAST umgewandelt wird? Wenn die Konvertierung in diesen Funktionen fehlschlägt, wird ein Fehler ausgegeben, anstatt einfach null zurückzugeben.
Beispiele¶
In diesem Beispiel haben wir mehrere TRY_CONVERT mit verschiedenen Datentypen
SQL Server¶
Wenn wir diesen Select migrieren, erhalten wir das folgende Ergebnis
Snowflake¶
Lassen Sie uns jede einzelne ausführen und das Ergebnis vergleichen.
Alias |
SqlServer-Ergebnis |
Snowflake-Ergebnis |
|---|---|---|
NUMERIC_RESULT |
12345 |
12345 |
DECIMAL_RESULT |
123,45 |
123,45 |
INT_RESULT |
123 |
123 |
FLOAT_RESULT |
123,02 |
123,02 |
DOUBLE_PRECISION_RESULT |
123,02 |
123,02 |
DATE_RESULT |
2017-01-01 |
2017-01-01 |
DATETIME_RESULT |
2017-01-01 12:00:00,000 |
2017-01-01 12:00:00,000 |
SMALLDATETIME_RESULT |
2017-01-01 12:00:00 |
2017-01-01 12:00:00,000 |
TIME_RESULT |
12:00:00,0000000 |
12:00:00 |
TIMESTAMP_RESULT |
0x323031372D30312D |
2017-01-01 12:00:00,000 |
DATETIMEOFFSET_RESULT |
2017-01-01 12:00:00,0000000 +00:00 |
2017-01-01 12:00:00,000 -0800 |
VARCHAR_RESULT |
1234 |
1234 |
CHAR_RESULT |
1 |
1 |
SQL_VARIANT_RESULT |
2017-01-01 12:00:00 |
„2017-01-01 12:00:00“ |
GEOGRAPHY_RESULT |
0xE610000001148716D9CEF7D34740D7A3703D0A975EC08716D9CEF7D34740CBA145B6F3955EC0 |
{ „coordinates“: [ [ -122.36, 47.656 ], [ -122.343, 47.656 ] ], „type“: „LineString“ } |
Zugehörige EWIs¶
[SSC-FDM-TS0005](../../general/technical-documentation/issues-and-troubleshooting/functional-difference/sqlServerFDM. md#ssc-fdm-ts0005): TRY_CONVERT/TRY_CAST konnte nicht in TRY_CAST umgewandelt werden.
Datums- und Uhrzeitfunktionen¶
Dieser Abschnitt beschreibt die funktionalen Äquivalente von Datum/Uhrzeit-Funktionen in Transact-SQL zu Snowflake SQL und JavaScript Code.
AT TIME ZONE¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Konvertiert ein Eingangsdatum in den entsprechenden Datetimeoffset Wert in der Zielzeitzone. (AT TIME ZONE in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Beispiele¶
SQL Server¶
Ergebnis:
Snowflake SQL¶
Ergebnis:
SQL Server¶
Ergebnis:
Snowflake SQL¶
Ergebnis:
Bekannte Probleme¶
Snowflake unterstützt nicht alle Zeitzonen, die SQL Server unterstützt. Sie können die unterstützten Zeitzonen unter diesem Link überprüfen.
SQL Server¶
Ergebnis:
Snowflake SQL¶
Zugehörige EWIs¶
[SSC-FDM-TS0024](../../general/technical-documentation/issues-and-troubleshooting/functional-difference/sqlServerFDM. md#ssc-fdm-ts0024): CURRENT_TIMESTAMP in der AT TIME ZONE-Anweisung kann in bestimmten Fällen eine andere Verhaltensweise aufweisen.
[SSC-EWI-TS0063](../../general/technical-documentation/issues-and-troubleshooting/conversion-issues/sqlServerEWI. md#ssc-ewi-ts0063): Zeitzone wird in Snowflake nicht unterstützt.
DATEADD¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Diese Funktion gibt eine Ganzzahl zurück, die den angegebenen Datumsanteil des angegebenen Datums darstellt. (DATEPART in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Beispiele¶
SQL Server¶
Ergebnis:
Snowflake SQL¶
Ergebnis:
DATEDIFF¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Diese Funktion gibt die Anzahl (als vorzeichenbehafteten Integer-Wert) der angegebenen Datumsgrenzen zurück, die zwischen dem angegebenen Startdatum und Enddatum überschritten wurden. (DATEDIFF in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Beispiele¶
SQL Server¶
Ergebnis:
DIFF |
|---|
1 |
Snowflake SQL¶
Ergebnis:
DIFF |
|---|
1 |
DATEFROMPARTS¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Diese Funktion gibt einen Datumswert zurück, der den angegebenen Jahres-, Monats- und Tageswerten zugeordnet ist. (DATEFROMPARTS in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Beispiele¶
SQL Server¶
Ergebnis:
RESULT |
|---|
2022-12-12 |
Snowflake SQL¶
Ergebnis:
RESULT |
|---|
2022-12-12 |
DATENAME¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Diese Funktion gibt eine Zeichenfolge zurück, die den angegebenen Datumsteil des angegebenen Datums darstellt. (DATENAME in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Bemerkung
Diese Transformation verwendet mehrere Funktionen, die von den Eingaben abhängen
Beispiele¶
SQL Server¶
Ergebnis:
DATE1 |
DATE2 |
DATE3 |
|---|---|---|
May |
3 |
Tuesday |
Snowflake SQL¶
Ergebnis:
DATE1 |
DATE2 |
DATE3 |
|---|---|---|
May |
Tue |
Tue |
DATEPART¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Diese Funktion gibt eine Ganzzahl zurück, die den angegebenen Datumsanteil des angegebenen Datums darstellt. (DATEPART in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Beispiele¶
SQL Server¶
Ergebnis:
YEAR |
|---|
2022 |
Snowflake SQL¶
Ergebnis:
YEAR |
|---|
2022 |
DAY¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Diese Funktion gibt eine ganze Zahl zurück, die den Tag (Tag des Monats) des angegebenen Datums darstellt. (DAY in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Beispiele¶
SQL Server¶
Ergebnis:
DAY |
|---|
10 |
Snowflake SQL¶
Ergebnis:
DAY |
|---|
10 |
EOMONTH¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Diese Funktion gibt den letzten Tag des Monats zurück, der ein bestimmtes Datum enthält, mit einem optionalen Offset. (EOMONTH in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Beispiele¶
SQL Server¶
Ergebnis:
RESULT |
|---|
2022-05-31 |
Snowflake SQL¶
Ergebnis:
RESULT |
|---|
2022-05-31 |
GETDATE¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Gibt den aktuellen Zeitstempel des Datenbanksystems als Datetime-Wert ohne den Zeitzonenoffset der Datenbank zurück. (GETDATE in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Beispiele¶
SQL Server¶
Ergebnis:
DATE |
|---|
2022-05-06 09:54:42.757 |
Snowflake SQL¶
Ergebnis:
DATE |
|---|
2022-05-06 08:55:05.422 |
MONTH¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Gibt eine Ganzzahl zurück, die den Monat des angegebenen Datums darstellt. (MONTH in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Beispiele¶
SQL Server¶
Ergebnis:
MONTH |
|---|
10 |
Snowflake SQL¶
Ergebnis:
MONTH |
|---|
10 |
SWITCHOFFSET¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Die Seite SWITCHOFFSET passt einen gegebenen Zeitstempelwert an eine bestimmte Zeitzonenverschiebung an. Dies geschieht durch numerische Werte. Weitere Informationen finden Sie unter SWITCHOFFSET (Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
Eine UDF-Hilfsfunktion erreicht eine Funktionsäquivalenz, außerdem hat es die gleiche Syntax wie die SWITCHOFFSET-Funktion in SQLServer.
SQLServer¶
Snowflake SQL¶
Beispiel¶
SQLServer¶
Ergebnis:
fr_time |
cr_time |
|---|---|
1998-09-20 7:45:50.71345 +02:00 |
1998-09-19 23:45:50.7134500 -06:00 |
Snowflake SQL¶
Ergebnis:
fr_time |
cr_time |
|---|---|
1998-09-20 7:45:50.71345 +02:00 |
1998-09-19 23:45:50.7134500 -06:00 |
SYSDATETIME¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Gibt einen datetime2(7)-Wert zurück, der das Datum und die Uhrzeit des Computers enthält, auf dem die Instanz von SQL Server ausgeführt wird. (SYSDATETIME in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Beispiele¶
SQL Server¶
Ergebnis:
SYSTEM_DATETIME |
|---|
2022-05-06 12:08:05.501 |
Snowflake SQL¶
Ergebnis:
SYSTEM_DATETIME |
|---|
211:09:14 |
SYSUTCDATETIME¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Gibt einen datetime2(7)-Wert zurück, der das Datum und die Uhrzeit des Computers enthält, auf dem die Instanz von SQL Server ausgeführt wird. (SYSUTCDATETIME in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Beispiele¶
SQL Server¶
Ergebnis:
SYSTEM_UTC_DATETIME |
|---|
2023-02-02 20:59:28.0926502 |
Snowflake SQL¶
Ergebnis:
SYSTEM_UTC_DATETIME |
|---|
2023-02-02 21:02:05.557 |
YEAR¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Gibt eine Ganzzahl zurück, die das Jahr des angegebenen Datums darstellt. (YEAR in Transact-SQL).
Beispielhaftes Quellcode-Muster¶
Syntax¶
SQL Server¶
Snowflake SQL¶
Beispiele¶
SQL Server¶
Ergebnis:
YEAR |
|---|
2022 |
Snowflake SQL¶
Ergebnis:
YEAR |
|---|
2022 |