SnowConvert: Transact – integrierte Funktionen

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Aggregat

TransactSQLSnowflakeNotes
TransactSQLSnowflakeNotes
APPROX_COUNT_DISTINCTAPPROX_COUNT_DISTINCT
AVG​AVG
CHECKSUM_AGG*to be defined
COUNTCOUNT
COUNT_BIG*to be defined
GROUPINGGROUPING
GROUPING_IDGROUPING_ID
MAXMAX
MINMIN
STDEVSTDDEV, STDEV_SAMP
STDEVPSTDDEV_POP
SUMSUM
VARVAR_SAMP
VARPVAR_POP​

Analytisch

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

<p>Gibt NULL zurück, wenn der Wert keine Zahl ist, andernfalls wird der numerische Wert als sein zurückgegeben.<br>Bei Verwendung von Operatoren wie &#x3C;, >, =, &#x3C;> muss dann NULL folgen</p>

CONVERT

Überprüfen Sie CONVERT

Gleiche Verhaltensweise wie CAST

PARSE

*noch zu definieren_

TRY_CAST

TRY_CAST

<p>Gibt NULL zurück, wenn der Wert keine Zahl ist, andernfalls wird der numerische Wert als sein zurückgegeben.<br>Bei Verwendung von Operatoren wie &#x3C;, >, =, &#x3C;> muss dann NULL folgen</p>

TRY_CONVERT

*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.

Kryptographie

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>Zurzeit wird nur eine getrennter Hashwert unterstützt. Verwenden Sie den richtigen nach dem erforderlichen Algorithmus</p><p>MD5 ist eine 32-Zeichen hexkodierte</p><p>SHA1 hat eine 40-Zeichen hexkodierte Zeichenfolge, die den 160-Bit</p><p>SHA2 enthält eine hexkodierte 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_

VERIGYSIGNEDBYCERT

*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_

<p>Diese Funktion erhält zwei Argumente: ein Datumsteil und ein Datum. Sie gibt eine Zeichenfolge zurück. Hier sind die unterstützten Datumsangaben von TSQL bis Snowflake</p><p>year, yyyy, yy -> DATE_PART(YEAR, „$date“) quarter, qq, q -> DATE_PART(QUARTER, „$date“)<br>month, mm, m -> MONTHNAME(„$date“), es wird nur ein dreibuchstabiger englischer Monatsnamen angegeben<br>dayofyear, dy, y -> DATE_PART(DAYOFYEAR, „$date“)<br>day, dd, d -> DATE_PART(DAY, „$date“)<br>week, wk, ww -> DATE_PART(WEEK, „$date“)</p><p>weekday, dw -> DAYNAME(„$date“), es wird nur ein dreibuchstabiger englischer Tagesname angegeben<br>hour, hh -> DATE_PART(HOUR, „$date“)<br>minute, n -> DATE_PART(MINUTE, „$date“)<br>second, ss, s -> DATE_PART(SECOND, „$date“)<br>microsecond, ms -> DATE_PART(MS, „$date“) microsecond, mcs -> DATE_PART(US, „$date“)<br>nanosecond, ns -> DATE_PART(NS, „$date“)<br>TZoffset, tz -> benötigt eine spezielle Implementierung, um den Offset zu erhalten</p>

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

FORMAT

*noch zu definieren_

Zuordnung zu TO_CHAR

GETDATE

GETDATE

GETUTCDATE

*noch zu definieren_

Kann mit CONVERT_TIMEZONE nachgeahmt werden

ISDATE

*noch zu definieren_

<p>Kann mit TRY_TO_DATE</p><nachgeahmt werden. p>Gibt NULL zurück, wenn der Wert kein Datum ist, andernfalls wird der Datumswert als sein Wert zurückgegeben.<br>Bei Verwendung von Operatoren wie &#x3C;, >, =, &#x3C;> muss dann eine NULL folgen</p>

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

TransactSQLSnowflakeNotes
TransactSQLSnowflakeNotes
@@PROCID*to be defined
APP_NAME*to be defined
APPLOCK_MODE*to be defined
APPLOCK_TEST*to be defined
ASSEMBLYPROPERTY*to be defined
COL_LENGTH*to be defined
COL_NAME*to be defined
COLUMNPROPERTY*to be defined
DATABASE_PRINCIPAL_ID*to be definedMaps to CURRENT_USER when no args
DATABASEPROPERTYEX*to be defined
DB_ID*to be definedWe recommend changing to CURRENT_DATABASE(). If there is a need to emulate this functionality.
SELECT DATE_PART(EPOCH,CREATED) FROM INFORMATION_SCHEMA.DATABASES WHERE DATABASE_NAME = 'DB' ;
Can achieve something similar
DB_NAME*to be definedMostly used in the procedurename mentioned above
FILE_ID*to be defined
FILE_IDEX*to be defined
FILE_NAME*to be defined
FILEGROUP_ID*to be defined
FILEGROUP_NAME*to be defined
FILEGROUPPROPERTY*to be defined
FILEPROPERTY*to be defined
FULLTEXTCATALOGPROPERTY*to be defined
FULLTEXTSERVICEPROPERTY*to be defined
INDEX_COL*to be defined
INDEXKEY_PROPERTY*to be defined
INDEXPROPERTY*to be defined
NEXT VALUE FOR*to be defined
OBJECT_DEFINITION*to be defined
OBJECT_ID*to be definedIn most cases can be replaced. Most cases are like: IF OBJECT_ID('dbo.TABLE') IS NOT NULL DROP TABLE dbo.Table which can be replaced by a DROP TABLE IF EXISTS (this syntax is also supported in SQL SERVER). If the object_id needs to be replicated, a UDF is added depending on the second parameter of the function call.
OBJECT_NAME*to be definedCan be replaced by: CREATE OR REPLACE PROCEDURE FOO() RETURNS STRING LANGUAGE JAVASCRIPT AS ' var rs = snowflake.execute({sqlText:SELECT CURRENT_DATABASE() || '.' || ?, binds:[arguments.callee.name]}); rs.next(); var procname = rs.getColumnValue(1); return procname; ';
OBJECT_NAME(@@PROCID)'ObjectName'

This transformation only occurs when it is inside a DeclareStatement.

ObjectName is the name of the TopLevelObject that contains the Function.

OBJECT_SCHEMA_NAME*to be defined
OBJECT_SCHEMA_NAME(@@PROCID):OBJECT_SCHEMA_NAMEThis transformation only occurs when it is inside a DeclareStatement.
OBJECTPROPERTY*to be defined
OBJECTPROPERTYEX*to be defined
ORIGINAL_DB_NAME*to be defined
PARSENAMEPARSENAME_UDFIt creates a UDF to emulate the same behavior of Parsename function.
*to be defined
SCHEMA_NAME*to be defined
SCOPE_IDENTITY*to be definedIt this is needed I would recommend to use sequences, and capture the value before insert
SERVERPROPERTY*to be defined
STATS_DATE*to be defined
TYPE_ID*to be defined
TYPE_NAME*to be defined
TYPEPROPERTY*to be defined
VERSION*to be defined

Ranking

TransactSQL

Snowflake

Anmerkungen

DENSE_RANK

DENSE_RANK

NTILE

NTILE

RANK

RANK

ROW_NUMBER

ROW_NUMBER

Replikation

TransactSQL

Snowflake

Anmerkungen

PUBLISHINGSERVERNAME

*noch zu definieren_

Zeilensatz

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.

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>IS_ROLE_IN_SESSION</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

Zeichenfolge

TransactSQL

Snowflake

Anmerkungen

ASCII

ASCII

CHAR

CHR, CHAR

CHARINDEX

CHARINDEX

CONCAT

CONCAT

CONCAT_WS

CONCAT_WS

COALESCE

COALESCE

DIFFERENCE

*noch zu definieren_

FORMAT

*noch zu definieren_

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 hat ein Methoden-Argument, um die Komprimierungsmethode anzugeben. Dies sind die gültigen Werte: SNAPPY, ZLIB, ZSTD, BZ2</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_

ERROR wird der _LINE-Hilfsfunktion zugeordnet. EXEC-Hilfsfunktion erfasst die Eigenschaft der Ausnahme-Zeile aus der Stapelverfolgung.

ERROR_MESSAGE

SQLERRM

ERROR_NUMBER

*noch zu definieren_

ERROR wird der _NUMBER-Hilfsfunktion zugeordnet. EXEC-Hilfsfunktion erfasst die Eigenschaft Ausnahmecode.

ERROR_PROCEDURE

*noch zu definieren_

Wird ERROR_PROCEDURE zugewiesen, das der Eigenschaft arguments.callee.name-Prozedur entnommen wird

ERROR_SEVERITY

*noch zu definieren_

ERROR_STATE

*noch zu definieren_

Hilfsfunktion erfasst die Eigenschaft Ausnahmezustand

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_

Systemstatistik

TransactSql

Snowflake

Anmerkungen

@@CONNECTIONS

*noch zu definieren_

<p>Snowflake bietet eine ähnliche Funktion: LOGIN_HISTORY.</p><p>Liefert Anmeldeereignisse innerhalb eines bestimmten Zeitraums</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 & 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

ISNULL

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Ersetzt NULL durch den angegebenen Ersatzwert. (ISNULL in Transact-SQL).

Beispielhaftes Quellcode-Muster

Syntax

ISNULL ( check_expression , replacement_value )  

Copy

Snowflake SQL-Dokumentation

NVL( <expr1> , <expr2> )

Copy

Beispiele

Code:

 SELECT ISNULL(NULL, 'SNOWFLAKE') AS COMPANYNAME;
Copy

Ergebnis:

+-----------+
|COMPANYNAME|
+-----------+
|SNOWFLAKE  |
+-----------+

Copy

Code:

 SELECT
NVL(NULL, 'SNOWFLAKE') AS COMPANYNAME;
Copy

Ergebnis:

+-----------+
|COMPANYNAME|
+-----------+
|SNOWFLAKE  |
+-----------+

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

NEWID

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Erzeugt einen eindeutigen Wert vom Typ „eindeutiger Bezeichner“. (NEWID in Transact-SQL).

Beispielhaftes Quellcode-Muster

Syntax

NEWID ( )  

Copy

Snowflake SQL-Dokumentation

UUID_STRING()

Copy

Beispiele

Warnung

Die Ausgaben können abweichen, da zur Laufzeit eine eindeutige ID generiert wird

Code:

 SELECT NEWID ( ) AS ID;
Copy

Ergebnis:

+------------------------------------+
|ID                                  |
+------------------------------------+
|47549DDF-837D-41D2-A59C-A6BC63DF7910|
+------------------------------------+

Copy

Code:

 SELECT
UUID_STRING( ) AS ID;
Copy

Ergebnis:

+------------------------------------+
|ID                                  |
+------------------------------------+
|6fd4312a-7925-4ad9-85d8-e039efd82089|
+------------------------------------+

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

NULLIF

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Gibt einen Nullwert zurück, wenn die beiden angegebenen Ausdrücke gleich sind.

Beispielhaftes Quellcode-Muster

Syntax

NULLIF ( check_expression , replacement_value )  

Copy

Snowflake SQL-Dokumentation

NULLIF( <expr1> , <expr2> )

Copy

Beispiele

Code:

 SELECT NULLIF(6,9) AS RESULT1, NULLIF(5,5) AS RESULT2;
Copy

Ergebnis:

+-------+-------+
|RESULT1|RESULT2|
+-------+-------+
|6      |null   |
+-------+-------+

Copy

Code:

 SELECT
NULLIF(6,9) AS RESULT1,
NULLIF(5,5) AS RESULT2;
Copy

Ergebnis:

+-------+-------+
|RESULT1|RESULT2|
+-------+-------+
|6      |null   |
+-------+-------+

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

@@ROWCOUNT

Applies to
  • [x] 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

@@ROWCOUNT

Copy

Snowflake SQL-Dokumentation

SQLROWCOUNT

Copy

Beispiele

Code:

 CREATE TABLE table1
(
    column1 INT
);

CREATE PROCEDURE procedure1
AS
BEGIN
    declare @addCount int = 0;

    INSERT INTO table1 (column1) VALUES (1),(2),(3);
    set @addCount = @addCount + @@ROWCOUNT

    select @addCount
END
;
GO

EXEC procedure1;
Copy

Ergebnis:

+-+
| |
+-+
|3|
+-+

Copy

Code:

 CREATE OR REPLACE TABLE table1
(
    column1 INT
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "transact",  "convertedOn": "11/13/2024",  "domain": "test" }}'
;

CREATE OR REPLACE PROCEDURE procedure1 ()
RETURNS TABLE()
LANGUAGE SQL
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "transact",  "convertedOn": "11/13/2024",  "domain": "test" }}'
EXECUTE AS CALLER
AS
$$
    DECLARE
        ADDCOUNT INT := 0;
        ProcedureResultSet RESULTSET;
    BEGIN
         

        INSERT INTO table1 (column1) VALUES (1),(2),(3);
        ADDCOUNT := :ADDCOUNT + SQLROWCOUNT;
        ProcedureResultSet := (

        select
            :ADDCOUNT);
        RETURN TABLE(ProcedureResultSet);
    END;
$$;

CALL procedure1();
Copy

Ergebnis:

+----------+
|:ADDCOUNT |
+----------+
|    3     |
+----------+

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

FORMATMESSAGE

Applies to
  • [x] 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

FORMATMESSAGE ( { msg_number  | ' msg_string ' | @msg_variable} , [ param_value [ ,...n ] ] )  

Copy

Beispiele

Code:

 SELECT FORMATMESSAGE('This is the %s and this is the %s.', 'first variable', 'second variable') AS RESULT;
Copy

Ergebnis:

                                                     RESULT|
-----------------------------------------------------------+
This is the first variable and this is the second variable.|

Copy

Code:

 SELECT
--** SSC-FDM-TS0008 - FORMATMESSAGE WAS CONVERTED TO CUSTOM UDF FORMATMESSAGE_UDF AND IT MIGHT HAVE A DIFFERENT BEHAVIOR. **
FORMATMESSAGE_UDF('This is the %s and this is the %s.', ARRAY_CONSTRUCT('first variable', 'second variable')) AS RESULT;
Copy

Ergebnis:

RESULT                                                     |
-----------------------------------------------------------+
This is the first variable and this is the second variable.|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

  1. [SSC-FDM-TS0008](../../general/technical-documentation/issues-and-troubleshooting/functional-difference/sqlServerFDM. md#ssc-fdm-ts0008): FORMATMESSAGE Funktion wurde in UDF umgewandelt.

FORMATMESSAGE_UDF

Snowflake verfügt nicht über eine Funktion mit dem Funktionsumfang von FORMATMESSAGE. SnowConvert erzeugt die folgende Python-UDF, um die Verhaltensweise von FORMATMESSAGE zu emulieren.

 CREATE OR REPLACE FUNCTION FORMATMESSAGE_UDF(MESSAGE STRING, ARGS ARRAY)
RETURNS STRING
LANGUAGE python
IMMUTABLE
RUNTIME_VERSION = '3.8'
HANDLER = 'format_py'
as
$$
def format_py(message,args):
  return message % (*args,)
$$;
Copy

Diese UDF funktioniert in manchen Fällen nicht korrekt:

  • Die Verwendung des Platzhalters %I64d führt zu einem Fehler.

  • Wenn die Anzahl der Substitutionsargumente nicht mit der Anzahl der Platzhalter übereinstimmt, wird ein Fehler ausgegeben.

  • Einige vorzeichenlose Platzhalter wie %u oder %X verhalten sich bei der Formatierung des Wertes nicht korrekt.

  • Sie kann nicht mit Nachrichten_ids umgehen.

Zeichenfolgenfunktionen

CHAR

Applies to
  • [x] SQL Server

  • [x] 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

CHAR( expression )

Copy

Vollständige Dokumentation zu Snowflake-SQL

{CHR | CHAR} ( <input> )

Copy

Vollständige Dokumentation zu JavaScript

String.fromCharCode( expression1, ... , expressionN )

Copy

Beispiele

Eingabe:

 SELECT CHAR(170) AS SMALLEST_A
Copy

Ausgabe:

SMALLEST_A|      
-----------+
          ª| 

Copy

Code:

 SELECT
CHAR(170) AS SMALLEST_A;
Copy

Ergebnis:

SMALLEST_A|      
-----------+
          ª| 

Copy

Code:

 CREATE OR REPLACE FUNCTION get_char(expression float)
  RETURNS string
  LANGUAGE JAVASCRIPT
AS
$$
  return String.fromCharCode( EXPRESSION );
$$;

SELECT GET_CHAR(170) SMALLEST_A;
Copy

Ergebnis:

SMALLEST_A|      
-----------+
          ª| 

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

CHARINDEX

Applies to
  • [x] SQL Server

  • [x] 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

CHARINDEX( expression_to_find, expression_to_search [, start] )

Copy

Vollständige Dokumentation zu Snowflake-SQL

CHARINDEX( <expr1>, <expr2> [ , <start_pos> ] )

Copy

Vollständige Dokumentation zu JavaScript

String.indexOf( search_value [, index] )

Copy

Beispiele

Code:

 SELECT CHARINDEX('t', 'Customer') AS MatchPosition;
Copy

Ergebnis:

      INDEX|      
-----------+
         33|

Copy

Code:

 SELECT
CHARINDEX('t', 'Customer') AS MatchPosition;
Copy

Ergebnis:

      INDEX|      
-----------+
         33|

Copy

Bemerkung

Indizes in Transact beginnen bei 1, anstelle von JavaScript, die bei 0 beginnen.

Code:

 CREATE OR REPLACE FUNCTION get_index
(
  expression_to_find varchar, 
  expression_to_search varchar, 
  start_index  float
)
  RETURNS float
  LANGUAGE JAVASCRIPT
AS
$$
  return EXPRESSION_TO_SEARCH.indexOf(EXPRESSION_TO_FIND, START_INDEX)+1;
$$;

SELECT GET_INDEX('and', 'Give your heart and soul to me, and life will always be la vie en rose', 20) AS INDEX;
Copy

Ergebnis:

      INDEX|      
-----------+
         33|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

COALESCE

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Bemerkung

Einige Teile des Ausgabecodes wurden aus Gründen der Übersichtlichkeit weggelassen.

Beschreibung

Wertet die Argumente der Reihe nach aus und gibt den aktuellen Wert des ersten Ausdrucks zurück, der zunächst nicht den Wert NULL ergibt. Zum Beispiel gibt SELECT COALESCE(NULL, NULL, ‚third_value‘, ‚fourth_value‘); den dritten Wert zurück, weil der dritte Wert der erste Wert ist, der nicht null ist. (COALESCE in Transact-SQL).

Beispielhaftes Quellcode-Muster

Syntax

COALESCE ( expression [ ,...n ] )   

Copy

Snowflake SQL-Dokumentation

COALESCE( <expr1> , <expr2> [ , ... , <exprN> ] )

Copy

Beispiele

Code:

 SELECT TOP 10 StartDate, 
COALESCE(EndDate,'2000-01-01') AS FIRST_NOT_NULL 
FROM HumanResources.EmployeeDepartmentHistory
Copy

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|

Copy

Code:

 SELECT TOP 10
StartDate,
COALESCE(EndDate,'2000-01-01') AS FIRST_NOT_NULL
FROM
HumanResources.EmployeeDepartmentHistory;
Copy

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|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

CONCAT

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Erzeugt eine Verkettung von Zeichenfolgenwerten mit anderen. (CONCAT in Transact-SQL).

Beispielhaftes Quellcode-Muster

Syntax

CONCAT ( string_value1, string_value2 [, string_valueN ] )  

Copy

Vollständige Dokumentation zu Snowflake-SQL

CONCAT( <expr1> [ , <exprN> ... ] )

<expr1> || <expr2> [ || <exprN> ... ]

Copy

Vollständige Dokumentation zu JavaScript

 String.concat( expression1, ..., expressionN )
Copy

Beispiele

Code:

 SELECT CONCAT('Ray',' ','of',' ','Light') AS TITLE;
Copy

Ausgabe:

       TITLE|      
------------+
Ray of Light|   

Copy

Code:

 SELECT
CONCAT('Ray',' ','of',' ','Light') AS TITLE;
Copy

Ausgabe:

       TITLE|      
------------+
Ray of Light|   

Copy

Code:

  CREATE OR REPLACE FUNCTION concatenate_strs(strings array)
  RETURNS string
  LANGUAGE JAVASCRIPT
AS
$$
  var result = ""
  STRINGS.forEach(element => result = result.concat(element));
  return result;
$$;
SELECT concatenate_strs(array_construct('Ray',' ','of',' ','Light')) TITLE;
Copy

\ Ausgabe:

       TITLE|      
------------+
Ray of Light|    

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

LEFT

Applies to
  • [x] SQL Server

  • [x] 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

LEFT ( character_expression , integer_expression )  

Copy

Vollständige Dokumentation zu Snowflake-SQL

LEFT ( <expr> , <length_expr> )

Copy

Funktion zur Emulation des Verhaltens

 function LEFT(string, index){
      if(index < 0){
          throw new RangeError('Invalid INDEX on LEFT function');
      }
      return string.slice( 0, index);
    }
  return LEFT(STR, INDEX);
Copy

Beispiele

Code:

 SELECT LEFT('John Smith', 5) AS FIRST_NAME;
Copy

Ausgabe:

FIRST_NAME|
----------+
John      |

Copy

Code:

 SELECT LEFT('John Smith', 5) AS FIRST_NAME;
Copy

Ausgabe:

FIRST_NAME|
----------+
John      |

Copy

Code:

 CREATE OR REPLACE FUNCTION left_str(str varchar, index float)
RETURNS string
LANGUAGE JAVASCRIPT
AS
$$
    function LEFT(string, index){
      if(index < 0){
          throw new RangeError('Invalid INDEX on LEFT function');
      }
      return string.slice( 0, index);
    }
  return LEFT(STR, INDEX);
$$;
SELECT LEFT_STR('John Smith', 5) AS FIRST_NAME;
Copy

\ Ausgabe:

FIRST_NAME|
----------+
John      |

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

LEN

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Gibt die Länge einer Zeichenfolge zurück (LEN in Transact-SQL).

Beispielhaftes Quellcode-Muster

Syntax

LEN( string_expression )

Copy

Vollständige Dokumentation zu Snowflake-SQL

LENGTH( <expression> )
LEN( <expression> )

Copy

Vollständige Dokumentation zu JavaScript SQL

 string.length
Copy

Beispiele

Code:

 SELECT LEN('Sample text') AS [LEN];
Copy

Ausgabe:

LEN|
---+
 11|

Copy

Code:

 SELECT LEN('Sample text') AS LEN;
Copy

Ausgabe:

LEN|
---+
 11|

Copy

Code:

 CREATE OR REPLACE FUNCTION get_len(str varchar)
  RETURNS float
  LANGUAGE JAVASCRIPT
AS
$$
  return STR.length;
$$;
SELECT GET_LEN('Sample text') LEN;
Copy

\ Ausgabe:

LEN|
---+
 11|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

LOWER

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Konvertiert eine Zeichenfolge in Kleinbuchstaben (LOWER in Transact-SQL).

Beispielhaftes Quellcode-Muster

Syntax

 LOWER ( character_expression )  
Copy

Vollständige Dokumentation zu Snowflake-SQL

 LOWER( <expr> )
Copy

Vollständige Dokumentation zu JavaScript SQL

 String.toLowerCase( )
Copy

Beispiele

Code:

 SELECT LOWER('YOU ARE A PREDICTION OF THE GOOD ONES') AS LOWERCASE;
Copy

Ausgabe:

LOWERCASE                            |
-------------------------------------+
you are a prediction of the good ones|

Copy

Code:

 SELECT LOWER('YOU ARE A PREDICTION OF THE GOOD ONES') AS LOWERCASE;
Copy

Ausgabe:

LOWERCASE                            |
-------------------------------------+
you are a prediction of the good ones|

Copy

Code:

 CREATE OR REPLACE FUNCTION to_lower(str varchar)
  RETURNS string
  LANGUAGE JAVASCRIPT
AS
$$
  return STR.toLowerCase();
$$;

SELECT TO_LOWER('YOU ARE A PREDICTION OF THE GOOD ONES') LOWERCASE;
Copy

\ Ausgabe:

LOWERCASE                            |
-------------------------------------+
you are a prediction of the good ones|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

NCHAR

Applies to
  • [x] SQL Server

  • [x] 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

NCHAR( expression )

Copy
Argumente

expression: Ganzzahl-Ausdruck.

Return Type

Zeichenfolgenwert, er hängt von der empfangenen Eingabe ab.

Beispiele

 SELECT NCHAR(170);
Copy
            |      
------------+
           ª|   

Copy

Bemerkung

Die Entsprechung für diese Funktion in JavaScript ist in CHAR dokumentiert.

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

REPLACE

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Ersetzt alle Vorkommen eines angegebenen Zeichenfolgenwertes durch einen anderen Zeichenfolgenwert. (REPLACE in Transact-SQL).

Beispielhaftes Quellcode-Muster

Syntax

REPLACE ( string_expression , string_pattern , string_replacement )  

Copy

Vollständige Dokumentation zu Snowflake-SQL

REPLACE( <subject> , <pattern> [ , <replacement> ] )

Copy
 String.replace( pattern, new_expression)
Copy

Beispiele

Code:

 SELECT REPLACE('Real computer software', 'software','science') AS COLUMNNAME;
Copy

Ausgabe:

COLUMNNAME           |
---------------------+
Real computer science|

Copy

Code:

 SELECT REPLACE('Real computer software', 'software','science') AS COLUMNNAME;
Copy

Ausgabe:

COLUMNNAME           |
---------------------+
Real computer science|

Copy

Code:

 CREATE OR REPLACE FUNCTION REPLACER (str varchar, pattern varchar, new_expression varchar)
  RETURNS string
  LANGUAGE JAVASCRIPT
AS
$$
   return STR.replace( PATTERN, NEW_EXPRESSION );
$$;

SELECT REPLACER('Real computer software', 'software', 'science') AS COLUMNNAME;
Copy

\ Ausgabe:

COLUMNNAME             |
---------------------+
Real computer science|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

REPLICATE

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Wiederholt einen Zeichenfolgenwert eine bestimmte Anzahl von Malen (REPLICATE in Transact-SQL).

Beispielhaftes Quellcode-Muster

Syntax

REPLICATE( string_expression, number_expression )

Copy

Snowflake SQL-Dokumentation

REPEAT(<input>, <n>)

Copy

JavaScript-Dokumentation

String.repeat( number_expression )

Copy

Beispiele

Code:

 SELECT REPLICATE('Staying alive',5) AS RESULT
Copy

Ergebnis:

RESULT                                                           |
-----------------------------------------------------------------+
Staying aliveStaying aliveStaying aliveStaying aliveStaying alive|

Copy

Code:

 SELECT REPEAT('Staying alive',5) AS RESULT;
Copy

Ergebnis:

RESULT                                                           |
-----------------------------------------------------------------+
Staying aliveStaying aliveStaying aliveStaying aliveStaying alive|

Copy

Code:

 CREATE OR REPLACE FUNCTION REPEAT_STR (str varchar, occurrences float)
  RETURNS string
  LANGUAGE JAVASCRIPT
AS
$$
 
   return STR.repeat( OCCURRENCES );
$$;

SELECT REPEAT_STR('Staying alive ', 5) AS RESULT;
Copy

Ergebnis:

RESULT                                                           |
-----------------------------------------------------------------+
Staying aliveStaying aliveStaying aliveStaying aliveStaying alive|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

RTRIM

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Gibt einen Zeichenausdruck zurück, nachdem das führende Leerzeichen entfernt wurde (RTRIM in Transact-SQL).

Beispielhaftes Quellcode-Muster

Syntax

RTRIM( string_expression )

Copy

Vollständige Dokumentation zu Snowflake-SQL

RTRIM(<expr> [, <characters> ])

Copy

Benutzerdefinierte Funktion, um die Verhaltensweise zu emulieren

 function RTRIM(string){
    return string.replace(/s+$/,"");
}
Copy

Beispiele

Eingabe:

 SELECT RTRIM('LAST TWO BLANK SPACES  ') AS [RTRIM]
Copy

Ausgabe:

RTRIM                |
---------------------+
LAST TWO BLANK SPACES|

Copy

Code:

 SELECT RTRIM('LAST TWO BLANK SPACES  ') AS RTRIM;
Copy

Ergebnis:

RTRIM                |
---------------------+
LAST TWO BLANK SPACES|

Copy

Code:

 CREATE OR REPLACE FUNCTION rtrim(str varchar)
  RETURNS string
  LANGUAGE JAVASCRIPT
AS
$$
  function RTRIM(string){
    return string.replace(/s+$/,"");
    }
   return RTRIM( STR );
$$;

SELECT RTRIM('LAST TWO BLANK SPACES  ') AS RTRIM;
Copy

Ergebnis:

RTRIM                |
---------------------+
LAST TWO BLANK SPACES|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

SPACE

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Gibt die Anzahl der Vorkommen von Leerzeichen zurück (SPACE in Transact-SQL).

Beispielhaftes Quellcode-Muster

Syntax

SPACE ( integer_expression )  

Copy

Vollständige Dokumentation zu Snowflake-SQL

SPACE(<n>)

Copy

Benutzerdefinierte Funktion, um die Verhaltensweise zu emulieren

 function SPACE( occurrences ){
    return ' '.repeat( occurrences );
}
Copy

Beispiele

Eingabe:

 SELECT CONCAT('SOME', SPACE(5), 'TEXT') AS RESULT;
Copy

Ausgabe:

RESULT       |
-------------+
SOME     TEXT|

Copy

Eingabe:

 SELECT CONCAT('SOME', SPACE(5), 'TEXT') AS RESULT;
Copy

Ausgabe:

RESULT       |
-------------+
SOME     TEXT|

Copy

Eingabe:

 CREATE OR REPLACE FUNCTION SPACE(occurrences float)
  RETURNS string
  LANGUAGE JAVASCRIPT
AS
$$
    function SPACE( occurrences ){
    return ' '.repeat( occurrences );
    }
    return SPACE( OCCURRENCES );
$$;

SELECT CONCAT('SOME', SPACE(5), 'TEXT') RESULT;
Copy

Ausgabe:

RESULT       |
-------------+
SOME     TEXT|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

SUBSTRING

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Gibt einen Zeichenausdruck zurück, nachdem das führende Leerzeichen entfernt wurde (RTRIM in Transact-SQL).

Beispielhaftes Quellcode-Muster

Syntax

SUBSTRING( string_expression, start, length )

Copy

Vollständige Dokumentation zu Snowflake-SQL

SUBSTR( <base_expr>, <start_expr> [ , <length_expr> ] )

SUBSTRING( <base_expr>, <start_expr> [ , <length_expr> ] )

Copy

Benutzerdefinierte Funktion, um die Verhaltensweise zu emulieren

 string.substring( indexA [, indexB])
Copy

Beispiele

Eingabe:

 SELECT SUBSTRING('abcdef', 2, 3) AS SOMETEXT;  
Copy

Ausgabe:

SOMETEXT|
--------+
bcd     |

Copy

Code:

 SELECT SUBSTRING('abcdef', 2, 3) AS SOMETEXT;  
Copy

Ergebnis:

SOMETEXT|
--------+
bcd     |

Copy

Code:

 CREATE OR REPLACE FUNCTION REPLACER_LENGTH(str varchar, index float, length float)
  RETURNS string
  LANGUAGE JAVASCRIPT
AS
$$
    var start = INDEX - 1;
    var end = STR.length - (LENGTH - 1);
    return STR.substring(start, end);
$$;

SELECT REPLACER_LENGTH('abcdef', 2, 3) AS SOMETEXT;
Copy

Ergebnis:

SOMETEXT|
--------+
bcd     |

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

UPPER

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Konvertiert eine Zeichenfolge in Großbuchstaben (UPPER in Transact-SQL).

Beispielhaftes Quellcode-Muster

Syntax

UPPER( string_expression ) 

Copy

Vollständige Dokumentation zu Snowflake-SQL

UPPER( <expr> )

Copy

Vollständige Dokumentation zu JavaScript SQL

 String.toUpperCase( )
Copy

Beispiele

Code:

 SELECT UPPER('you are a prediction of the good ones') AS [UPPER]
Copy

Ausgabe:

+-------------------------------------+
|UPPER                                |
+-------------------------------------+
|YOU ARE A PREDICTION OF THE GOOD ONES|
+-------------------------------------+

Copy

Code:

 SELECT
UPPER('you are a prediction of the good ones') AS UPPER;
Copy

Ausgabe:

+-------------------------------------+
|UPPER                                |
+-------------------------------------+
|YOU ARE A PREDICTION OF THE GOOD ONES|
+-------------------------------------+

Copy

Code:

 CREATE OR REPLACE FUNCTION to_upper(str varchar)
  RETURNS string
  LANGUAGE JAVASCRIPT
AS
$$
  return STR.toUpperCase();
$$;

SELECT TO_UPPER('you are a prediction of the good ones') UPPER;
Copy

\ Ausgabe:

UPPER                                |
-------------------------------------+
YOU ARE A PREDICTION OF THE GOOD ONES|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

ASCII

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Gibt den Zahlencode eines Zeichens aus der Tabelle ASCII zurück (ASCII in Transact-SQL).

Beispielhaftes Quellcode-Muster

Syntax

 ASCII( expression )
Copy
Argumente

Ausdruck: VARCVHAR oder CHAR Ausdruck.

Return Type

INT.

Beispiele

 SELECT ASCII('A') AS A , ASCII('a') AS a;
Copy
          A|          a|
-----------+ ----------+
         65|         97|    

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

ASCII in JS

Applies to
  • [x] SQL Server

  • [x] 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

 string.charCodeAt( [index] )
Copy
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

 CREATE OR REPLACE FUNCTION get_ascii(c char)
  RETURNS string
  LANGUAGE JAVASCRIPT
AS
$$
  return C.charCodeAt();
$$;

SELECT GET_ASCII('A') A, GET_ASCII('a') a;
Copy
          A|          a|
-----------+ ----------+
         65|         97|    

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

QUOTENAME

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Gibt eine durch Anführungszeichen begrenzte Zeichenfolge zurück (QUOTENAME in Transact-SQL).

Beispielhaftes Quellcode-Muster

Syntax

QUOTENAME( string_expression [, quote_character])

Copy
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

 SELECT QUOTENAME('Hello', '`') AS HELLO;
Copy
    HELLO|      
---------+
  `Hello`|  

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

QUOTENAME in JS

Applies to
  • [x] SQL Server

  • [x] 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

 function QUOTENAME(string, quote){
    return quote.concat(string, quote);
}
Copy
Argumente

string: Zeichenfolgenausdruck zur Abgrenzung.

quote: Anführungszeichen, die als Trennzeichen verwendet werden.

Return Type

Zeichenfolge

Beispiele

 CREATE OR REPLACE FUNCTION QUOTENAME(str varchar, quote char)
  RETURNS string
  LANGUAGE JAVASCRIPT
AS
$$
  function QUOTENAME(string, quote){
    const allowed_quotes = /[\']|[\"]|[(]|[)]|[\[]|[\]]|[\{]|[\}]|[\`]/;
    
    if(!allowed_quotes.test(quote)) throw new TypeError('Invalid Quote');
    
    return quote.concat(string, quote);
  }
   return QUOTENAME(STR, QUOTE);
$$;

SELECT QUOTENAME('Hola', '`') HELLO;
Copy
    HELLO|      
---------+
  `Hello`| 

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

CONCAT_WS

Applies to
  • [x] SQL Server

  • [x] 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

CONCAT_WS( separator, expression1, ... ,expressionN )

Copy
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

 SELECT CONCAT_WS(' ', 'Mariah','Carey') AS NAME;
Copy
        NAME|      
------------+
Mariah Carey|   

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

Verknüpfung in JS

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Verkettet die Zeichenfolgenargumente mit der aufrufenden Zeichenfolge unter Verwendung eines Trennzeichens (Dokumentation zur JavaScript-Funktion Join).

Beispielhaftes Quellcode-Muster

Syntax

 Array.join( separator )
Copy
Argumente

separator: Zeichen zumr Verknüpfung.

Return Type

String.

Beispiele

 CREATE OR REPLACE FUNCTION join_strs(separator varchar, strings array)
  RETURNS string
  LANGUAGE JAVASCRIPT
AS
$$
  return STRINGS.join(SEPARATOR);
$$;
SELECT join_strs(' ',array_construct('Mariah','Carey')) NAME;
Copy
        NAME|      
------------+
Mariah Carey|   

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

SOUNDEX

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Gibt einen vierstelligen Code zur Bewertung der Ähnlichkeit zweier Zeichenfolgen zurück (SOUNDEX in Transact-SQL).

Beispielhaftes Quellcode-Muster

Syntax

SOUNDEX( string_expression )

Copy
Argumente

string_expression: Zeichenfolgenausdruck zum Umkehren.

Return Type

Derselbe Datentyp des als Parameter gesendeten Zeichenfolgenausdrucks.

Beispiele

 SELECT SOUNDEX('two') AS TWO , SOUNDEX('too') AS TOO;
Copy
      TWO|      TOO|
---------+---------+
     T000|     T000| 

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

SOUNDEX in JS

Applies to
  • [x] SQL Server

  • [x] 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

 const dic = {A:0, B:1, C:2, D:3, E:0, F:1, G:2, H:0, I:0, J:2, K:2, L:4, M:5, N:5, O:0, P:1, Q:2, R:6, S:2, T:3, U:0, V:1, W:0, X:2, Y:0, Z:2};

  function getCode(letter){
      return dic[letter.toUpperCase()];
  }

  function SOUNDEX(word){
    var initialCharacter = word[0].toUpperCase();
    var initialCode = getCode(initialCharacter);
    for(let i = 1; i < word.length; ++i) {
        const letterCode = getCode(word[i]);
        if (letterCode && letterCode != initialCode) {
             initialCharacter += letterCode;
             if(initialCharacter.length == 4) break;
        }
        initialCode = letterCode;
    }
      
      return initialCharacter.concat( '0'.repeat( 4 - initialCharacter.length));
      
  }
Copy
Argumente

word: Zeichenfolgenausdruck, um seine SOUNDEX Entsprechung zu erhalten.

Return Type

Zeichenfolge

Beispiele

 CREATE OR REPLACE FUNCTION get_soundex(str varchar)
  RETURNS string
  LANGUAGE JAVASCRIPT
AS
$$
  const dic = {A:0, B:1, C:2, D:3, E:0, F:1, G:2, H:0, I:0, J:2, K:2, L:4, M:5, N:5, O:0, P:1, Q:2, R:6, S:2, T:3, U:0, V:1, W:0, X:2, Y:0, Z:2};

  function getCode(letter){
      return dic[letter.toUpperCase()];
  }

  function SOUNDEX(word){
    var initialCharacter = word[0].toUpperCase();
    var initialCode = getCode(initialCharacter);
    for(let i = 1; i < word.length; ++i) {
        const letterCode = getCode(word[i]);
        if (letterCode && letterCode != initialCode) {
             initialCharacter += letterCode;
             if(initialCharacter.length == 4) break;
        }
        initialCode = letterCode;
    }
    
    return initialCharacter.concat( '0'.repeat( 4 - initialCharacter.length));    
  }
  
  return SOUNDEX( STR );
$$;

SELECT GET_SOUNDEX('two') AS TWO , GET_SOUNDEX('too') AS TOO;
Copy
      TWO|      TOO|
---------+---------+
     T000|     T000| 

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

REVERSE

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Kehrt eine Zeichenfolge um (REVERSE in Transact-SQL).

Beispielhaftes Quellcode-Muster

Syntax

REVERSE( string_expression )

Copy
Argumente

string_expression: Zeichenfolgenausdruck zum Umkehren.

Return Type

Derselbe Datentyp des als Parameter gesendeten Zeichenfolgenausdrucks.

Beispiele

 SELECT REVERSE('rotator') AS PALINDROME;
Copy
      PALINDROME|      
----------------+
         rotator|  

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

Umkehrung in JS

Applies to
  • [x] SQL Server

  • [x] 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

 function REVERSE(string){
    return string.split("").reverse().join("");
}
Copy
Argumente

string: Umzukehrender Zeichenfolgenausdruck.

Return Type

Zeichenfolge

Beispiele

 CREATE OR REPLACE FUNCTION REVERSE(str varchar)
  RETURNS string
  LANGUAGE JAVASCRIPT
AS
$$
   return STR.split("").reverse().join("");
$$;

SELECT REVERSE('rotator') PALINDROME;
Copy
      PALINDROME|      
----------------+
         rotator|  

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

STRING_ESCAPE

Applies to
  • [x] SQL Server

  • [x] 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

STRING_ESCAPE( text, type )

Copy
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

 SELECT STRING_ESCAPE('\   /  \\    "     ', 'json') AS [ESCAPE];  
Copy
                    ESCAPE|
--------------------------+
  \\   \/  \\\\    \"     | 

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

Stringify in JS

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Konvertiert ein Objekt in ein JSON Zeichenfolgenformat (Dokumentation zur JavaScript-Funktion Stringify).

Beispielhaftes Quellcode-Muster

Syntax

 JSON.stringify( value )
Copy
Argumente

value: Zu konvertierender Objektausdruck.

Return Type

Zeichenfolge

Beispiele

 CREATE OR REPLACE FUNCTION string_escape (str varchar)
  RETURNS string
  LANGUAGE JAVASCRIPT
AS
$$
   return JSON.stringify( STR );
$$;

SELECT STRING_ESCAPE('\   /  \\    "     ') ESCAPE;
Copy
                    ESCAPE|
--------------------------+
  \\   \/  \\\\    \"     | 

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

TRIM

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Gibt einen Zeichenausdruck ohne Leerzeichen zurück (TRIM in Transact-SQL).

Beispielhaftes Quellcode-Muster

Syntax

TRIM( string_expression )

Copy
Argumente

string_expression: Zu konvertierende Zeichenfolgenausdrücke.

Return Type

VARCHAR oder NVARCHAR

Beispiele

Code:

 SELECT TRIM('  FIRST AND LAST TWO BLANK SPACES  ') AS [TRIM];
Copy

Ausgabe:

+-------------------------------+
|TRIM                           |
+-------------------------------+
|FIRST AND LAST TWO BLANK SPACES|
+-------------------------------+

Copy

Code:

 SELECT TRIM('  FIRST AND LAST TWO BLANK SPACES  ') AS TRIM;
Copy

Ausgabe:

+-------------------------------+
|TRIM                           |
+-------------------------------+
|FIRST AND LAST TWO BLANK SPACES|
+-------------------------------+

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

Trim in JS

Applies to
  • [x] SQL Server

  • [x] 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

 String.trim( )
Copy
Argumente

Diese Funktion erhält keine Parameter.

Return Type

Zeichenfolge

Beispiele

 CREATE OR REPLACE FUNCTION TRIM_STR(str varchar)
  RETURNS string
  LANGUAGE JAVASCRIPT
AS
$$
   return STR.trim( );
$$;

SELECT TRIM_STR('  FIRST AND LAST TWO BLANK SPACES  ')TRIM
Copy
                           TRIM|      
-------------------------------+
FIRST AND LAST TWO BLANK SPACES|   

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

DIFFERENCE

Applies to
  • [x] SQL Server

  • [x] 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

DIFFERENCE( expression1, expression1 )

Copy
Argumente

expression1, expression2: Zeichenfolgenausdrücke, die verglichen werden sollen.

Return Type

Int.

Beispiele

 SELECT DIFFERENCE('Like', 'Mike');
Copy
    Output |
-----------|
         3 |

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

DIFFERENCE in JS

Applies to
  • [x] SQL Server

  • [x] 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

 function DIFFERENCE(strA, strB) {
    var count = 0;
    for (var i = 0; i < strA.length; i++){
       if ( strA[i] == strB[i] ) count++; 
    }
    
    return count;
}
Copy
Argumente

strA, strB: Zeichenfolgenausdrücke, die durch die Ausführung des SOUNDEX-Algorithmus entstehen.

Return Type

String.

Beispiele

 CREATE OR REPLACE FUNCTION SOUNDEX_DIFFERENCE(str_1 varchar, str_2 varchar)
  RETURNS string
  LANGUAGE JAVASCRIPT
AS
$$
    function DIFFERENCE(strA, strB) {
      var count = 0;
      for (var i = 0; i < strA.length; i++){
         if ( strA[i] == strB[i] ) count++; 
      }
    
    return count;
    }
    
    return DIFFERENCE(STR_1, STR_2);
$$;

SELECT SOUNDEX_DIFFERENCE(GET_SOUNDEX('two'), GET_SOUNDEX('too')) DIFFERENCE;
Copy
   DIFFERENCE|
-------------+
            4| 

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

FORMAT

Applies to
  • [x] SQL Server

  • [x] 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

FORMAT( value, format [, culture])

Copy
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

 SELECT FORMAT(CAST('2022-01-24' AS DATE), 'd', 'en-gb')  AS 'Great Britain';
Copy
  GREAT BRITAIN|      
---------------+
     24/01/2022|  

Copy
 SELECT FORMAT(244900.25, 'C', 'cr-CR')  AS 'CURRENCY';
Copy
       CURRENCY|      
---------------+
    ₡244,900.25|  

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

FORMAT in JS

Applies to
  • [x] SQL Server

  • [x] 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

 Intl.DateTimeFormat( format ).format( value )
Copy
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

 Intl.NumberFormat( [locales [, options]] ).format( value )
Copy
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

 CREATE OR REPLACE FUNCTION format_date(date timestamp, format varchar)
  RETURNS string
  LANGUAGE JAVASCRIPT
AS
$$
  return new Intl.DateTimeFormat( FORMAT ).format( DATE );
$$;
SELECT FORMAT_DATE(TO_DATE('2022-01-24'), 'en-gb') GREAT_BRITAIN;
Copy
  GREAT_BRITAIN|      
---------------+
     24/01/2022|  

Copy

Numerisch

 CREATE OR REPLACE FUNCTION format_numeric(number float, locales varchar, options variant)
  RETURNS string
  LANGUAGE JAVASCRIPT
AS
$$
  return new Intl.NumberFormat( LOCALES , OPTIONS ).format( NUMBER );
$$;
SELECT FORMAT_NUMERIC(244900.25, 'de-DE', PARSE_JSON('{ style: "currency", currency: "CRC" }')) CURRENCY;
Copy
       CURRENCY|      
---------------+
 244.900,25 CRC|  

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

PATINDEX

Applies to
  • [x] SQL Server

  • [x] 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

PATINDEX( pattern, expression )

Copy
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

 SELECT PATINDEX( '%on%', 'No, no, non esistono più') AS [PATINDEX]
Copy
    PATINDEX|      
------------+
          10|  

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

Search in JS

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Findet den Index eines Musters mit REGEX (Dokumentation zurJavaScript-Suchfunktion).

Beispielhaftes Quellcode-Muster

Syntax

 String.search( regex )
Copy
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

 CREATE OR REPLACE FUNCTION get_index_pattern(pattern varchar, str varchar)
  RETURNS float
  LANGUAGE JAVASCRIPT
AS
$$
  function GET_PATTERN(pattern, string){
    return string.search(new RegExp( pattern ));
    }
   return GET_PATTERN(PATTERN, STR) + 1;
$$;

SELECT GET_INDEX_PATTERN('on+', 'No, no, non esistono più') PATINDEX;
Copy
    PATINDEX|      
------------+
          10|  

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

STR

Applies to
  • [x] SQL Server

  • [x] 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

 STR ( float_expression [ , length [ , decimal ] ] ) 
Copy
 STR_UDF( numeric_expression, number_format )
Copy
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

Eingabe:

 /* 1 */
SELECT STR(123.5);

/* 2 */
SELECT STR(123.5, 2);

/* 3 */
SELECT STR(123.45, 6);

/* 4 */
SELECT STR(123.45, 6, 1);
Copy

Ausgabe:

1) 124
2) **
3) 123
4) 123.5

Copy

Eingabe:

 /* 1 */
SELECT
PUBLIC.STR_UDF(123.5, '99999');

/* 2 */
SELECT
PUBLIC.STR_UDF(123.5, '99');

/* 3 */
SELECT
PUBLIC.STR_UDF(123.45, '999999');

/* 4 */
SELECT
PUBLIC.STR_UDF(123.45, '9999.9');
Copy

Ausgabe:

1) 124
2) ##
3) 123
4) 123.5

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

STR in JS

Applies to
  • [x] SQL Server

  • [x] 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

 function validLength(number, max_length, float_precision) {
  var float_point = number.match(/[\.][0-9]+/);
  /*if the number does not have point float, checks if the float precision 
   * and current number are greater than max_length
   */
   if(!float_point) return number.length + float_precision + 1 < max_length; 
    //removes the '.' and checks if there is overflow with the float_precision
    return number.length - float_point[0].trim('.').length + float_precision  < max_length;
} 
 function STR(number, max_length, float_precision) {
  var number_str = number.toString();
   //if the expression exceeds the max_length, returns '**'
   if(number_str.length > max_length || float_precision > max_length) return '**';
   if(validLength(number_str, max_length, float_precision)) {
      return number.toFixed(float_precision);
    }
    return number.toFixed(max_length - float_precision);
}
Copy
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

 CREATE OR REPLACE FUNCTION STR(number float, max_length float, float_precision float)
  RETURNS string
  LANGUAGE JAVASCRIPT
AS
$$
    function validLength(number, max_length, float_precision) {
        var float_point = number.match(/[\.][0-9]+/);
        if(!float_point) return number.length + float_precision + 1 < max_length; 
        return number.length - float_point[0].trim('.').length + float_precision  < max_length;
    } 
    function STR(number, max_length, float_precision) {
      var number_str = number.toString();
      if(number_str.length > max_length || float_precision > max_length) return '**';
      if(validLength(number_str, max_length, float_precision)) {
        return number.toFixed(float_precision);
      }
      return number.toFixed(max_length - float_precision);
    }
    return STR( NUMBER, MAX_LENGTH, FLOAT_PRECISION );
$$;

SELECT STR(12345.674, 12, 6);
Copy
           STR|
--------------+
  12345.674000| 

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

LTRIM

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Gibt einen Zeichenausdruck zurück, nachdem das führende Leerzeichen entfernt wurde (LTRIM in Transact-SQL).

Beispielhaftes Quellcode-Muster

Syntax

LTRIM( string_expression )

Copy
Argumente

string_expression: Zu konvertierende Zeichenfolgenausdrücke.

Return Type

VARCHAR oder NVARCHAR

Beispiele

 SELECT LTRIM('  FIRST TWO BLANK SPACES') AS [LTRIM]
Copy
                 LTRIM|      
----------------------+
FIRST TWO BLANK SPACES|  

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

LTRIM in JS

Applies to
  • [x] SQL Server

  • [x] 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

 function LTRIM(string){
    return string.replace(/^s+/,"");
}
Copy
Argumente

string: Zeichenfolgenausdruck, um Leerzeichen zu entfernen.

Return Type

Zeichenfolge

Beispiele

 CREATE OR REPLACE FUNCTION ltrim(str varchar)
  RETURNS string
  LANGUAGE JAVASCRIPT
AS
$$
  function LTRIM(string){
    return string.replace(/^s+/,"");
    }
   return LTRIM(S TR );
$$;

SELECT LTRIM('  FIRST TWO BLANK SPACES') AS LTRIM;
Copy
                 LTRIM|      
----------------------+
FIRST TWO BLANK SPACES|  

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

Ranking-Funktionen

Dieser Abschnitt beschreibt die funktionalen Äquivalente von Ranking-Funktionen in Transact-SQL zu Snowflake SQL und JavaScript Code, orientiert an ihrer Verwendung in gespeicherten Prozeduren in SnowFlake.

DENSE_RANK

Applies to
  • [x] SQL Server

  • [x] 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

 DENSE_RANK ( ) OVER ( [ <partition_by_clause> ] < order_by_clause > )  
Copy

Snowflake SQL-Dokumentation

 DENSE_RANK( )
-- ** SSC-EWI-0001 - UNRECOGNIZED TOKEN ON LINE '1' COLUMN '15' OF THE SOURCE CODE STARTING AT 'OVER'. EXPECTED 'BATCH' GRAMMAR. CODE '80'. **
--              OVER ( [ <partition_by_clause> ] < order_by_clause > )
Copy

Beispiele

Code:

 SELECT TOP 10 BUSINESSENTITYID, NATIONALIDNUMBER, RANK() OVER (ORDER BY NATIONALIDNUMBER) AS RANK FROM HUMANRESOURCES.EMPLOYEE AS TOTAL
Copy

Ergebnis:

BUSINESSENTITYID|NATIONALIDNUMBER|DENSE_RANK|
----------------+----------------+----------+
              57|10708100        |         1|
              54|109272464       |         2|
             273|112432117       |         3|
               4|112457891       |         4|
             139|113393530       |         5|
             109|113695504       |         6|
             249|121491555       |         7|
             132|1300049         |         8|
             214|131471224       |         9|
              51|132674823       |        10|

Copy

Code:

 SELECT TOP 10
BUSINESSENTITYID,
NATIONALIDNUMBER,
RANK() OVER (ORDER BY NATIONALIDNUMBER) AS RANK
FROM
HUMANRESOURCES.EMPLOYEE AS TOTAL;
Copy

Ergebnis:

BUSINESSENTITYID|NATIONALIDNUMBER|DENSE_RANK|
----------------+----------------+----------+
              57|10708100        |         1|
              54|109272464       |         2|
             273|112432117       |         3|
               4|112457891       |         4|
             139|113393530       |         5|
             109|113695504       |         6|
             249|121491555       |         7|
             132|1300049         |         8|
             214|131471224       |         9|
              51|132674823       |        10|

Copy

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
  • [x] SQL Server

  • [x] 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

 RANK ( ) OVER ( [ partition_by_clause ] order_by_clause )  
Copy

Snowflake SQL-Dokumentation

 RANK( )
-- ** SSC-EWI-0001 - UNRECOGNIZED TOKEN ON LINE '1' COLUMN '9' OF THE SOURCE CODE STARTING AT 'OVER'. EXPECTED 'BATCH' GRAMMAR. CODE '80'. **
--        OVER ( [ partition_by_clause ] order_by_clause )
Copy

Beispiele

Code:

 SELECT TOP 10 BUSINESSENTITYID, NATIONALIDNUMBER, RANK() OVER (ORDER BY NATIONALIDNUMBER) AS RANK FROM HUMANRESOURCES.EMPLOYEE AS TOTAL
Copy

Ergebnis:

BUSINESSENTITYID|NATIONALIDNUMBER|RANK|
----------------+----------------+----+
              57|10708100        |   1|
              54|109272464       |   2|
             273|112432117       |   3|
               4|112457891       |   4|
             139|113393530       |   5|
             109|113695504       |   6|
             249|121491555       |   7|
             132|1300049         |   8|
             214|131471224       |   9|
              51|132674823       |  10|

Copy

Code:

 SELECT TOP 10
BUSINESSENTITYID,
NATIONALIDNUMBER,
RANK() OVER (ORDER BY NATIONALIDNUMBER) AS RANK
FROM
HUMANRESOURCES.EMPLOYEE AS TOTAL;
Copy

Ergebnis:

BUSINESSENTITYID|NATIONALIDNUMBER|RANK|
----------------+----------------+----+
              57|10708100        |   1|
              54|109272464       |   2|
             273|112432117       |   3|
               4|112457891       |   4|
             139|113393530       |   5|
             109|113695504       |   6|
             249|121491555       |   7|
             132|1300049         |   8|
             214|131471224       |   9|
              51|132674823       |  10|

Copy

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
  • [x] SQL Server

  • [x] 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

 ROW_NUMBER ( )   
    OVER ( [ PARTITION BY value_expression , ... [ n ] ] order_by_clause )  
Copy

Vollständige Dokumentation zu Snowflake-SQL

 ROW_NUMBER( )
-- ** SSC-EWI-0001 - UNRECOGNIZED TOKEN ON LINE '2' COLUMN '5' OF THE SOURCE CODE STARTING AT 'OVER'. EXPECTED 'BATCH' GRAMMAR. CODE '80'. **
--    OVER ( [ PARTITION BY value_expression , ... [ n ] ] order_by_clause )
Copy

Beispiele

Code:

 SELECT 
ROW_NUMBER() OVER(ORDER BY NAME  ASC) AS RowNumber, 
NAME
FROM HUMANRESOURCES.DEPARTMENT
Copy

Ausgabe:

RowNumber|NAME                      |
---------+--------------------------+
        1|Document Control          |
        2|Engineering               |
        3|Executive                 |
        4|Facilities and Maintenance|
        5|Finance                   |
        6|Human Resources           |
        7|Information Services      |
        8|Marketing                 |
        9|Production                |
       10|Production Control        |
       11|Purchasing                |
       12|Quality Assurance         |
       13|Research and Development  |
       14|Sales                     |
       15|Shipping and Receiving    |
       16|Tool Design               |

Copy

Code:

 SELECT
ROW_NUMBER() OVER(ORDER BY NAME ASC) AS RowNumber,
NAME
FROM
HUMANRESOURCES.DEPARTMENT;
Copy

Ausgabe:

RowNumber|NAME                      |
---------+--------------------------+
        1|Document Control          |
        2|Engineering               |
        3|Executive                 |
        4|Facilities and Maintenance|
        5|Finance                   |
        6|Human Resources           |
        7|Information Services      |
        8|Marketing                 |
        9|Production                |
       10|Production Control        |
       11|Purchasing                |
       12|Quality Assurance         |
       13|Research and Development  |
       14|Sales                     |
       15|Shipping and Receiving    |
       16|Tool Design               |

Copy

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

IIF

Applies to
  • [x] SQL Server

  • [x] 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

IIF( boolean_expression, true_value, false_value )

Copy

Snowflake SQL-Dokumentation

IFF( <condition> , <expr1> , <expr2> )

Copy

Beispiele

Code:

 SELECT IIF( 2 > 3, 'TRUE', 'FALSE' ) AS RESULT
Copy

Ergebnis:

RESULT|
------+
 FALSE|

Copy

Code:

 SELECT
IFF( 2 > 3, 'TRUE', 'FALSE' ) AS RESULT;
Copy

Ergebnis:

RESULT|
------+
 FALSE|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

XML-Funktionen

Abfrage

Applies to
  • [x] 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

 CREATE TABLE xml_demo(object_col XML);

INSERT INTO xml_demo (object_col)
    SELECT
        '<Root>
<ProductDescription ProductID="1" ProductName="Road Bike">
<Features>
  <Warranty>1 year parts and labor</Warranty>
  <Maintenance>3 year parts and labor extended maintenance is available</Maintenance>
</Features>
</ProductDescription>
</Root>';

INSERT INTO xml_demo (object_col)
    SELECT
        '<Root>
<ProductDescription ProductID="2" ProductName="Skate">
<Features>
  <Warranty>1 year parts and labor</Warranty>
  <Maintenance>3 year parts and labor extended maintenance is available</Maintenance>
</Features>
</ProductDescription>
</Root>';

SELECT
    xml_demo.object_col.query('/Root/ProductDescription/Features/Warranty') as Warranty,
    xml_demo.object_col.query('/Root/ProductDescription/Features/Maintenance') as Maintenance
from xml_demo;
Copy
 Warranty                                     | Maintenance                                                                          |
----------------------------------------------+--------------------------------------------------------------------------------------+
<Warranty>1 year parts and labor</Warranty>   | <Maintenance>3 year parts and labor extended maintenance is available</Maintenance>  |
<Warranty>1 year parts and labor</Warranty>   | <Maintenance>3 year parts and labor extended maintenance is available</Maintenance>  |

Copy
Snowflake SQL
 CREATE OR REPLACE TABLE xml_demo (
    object_col VARIANT !!!RESOLVE EWI!!! /*** SSC-EWI-0036 - XML DATA TYPE CONVERTED TO VARIANT ***/!!!
)
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"transact"}}'
;

INSERT INTO xml_demo (object_col)
SELECT
    PARSE_XML(
    '<Root>
<ProductDescription ProductID="1" ProductName="Road Bike">
<Features>
  <Warranty>1 year parts and labor</Warranty>
  <Maintenance>3 year parts and labor extended maintenance is available</Maintenance>
</Features>
</ProductDescription>
</Root>');

INSERT INTO xml_demo (object_col)
SELECT
    PARSE_XML(
    '<Root>
<ProductDescription ProductID="2" ProductName="Skate">
<Features>
  <Warranty>1 year parts and labor</Warranty>
  <Maintenance>3 year parts and labor extended maintenance is available</Maintenance>
</Features>
</ProductDescription>
</Root>');

SELECT
    XMLGET(XMLGET(XMLGET(object_col, 'ProductDescription'), 'Features'), 'Warranty') as Warranty,
    XMLGET(XMLGET(XMLGET(object_col, 'ProductDescription'), 'Features'), 'Maintenance') as Maintenance
from
    xml_demo;
Copy
 Warranty                                     | Maintenance                                                                          |
----------------------------------------------+--------------------------------------------------------------------------------------+
<Warranty>1 year parts and labor</Warranty>   | <Maintenance>3 year parts and labor extended maintenance is available</Maintenance>  |
<Warranty>1 year parts and labor</Warranty>   | <Maintenance>3 year parts and labor extended maintenance is available</Maintenance>  |

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

  1. [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
  • [x] 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

 CREATE TABLE xml_demo(object_col XML);

INSERT INTO xml_demo (object_col)
    SELECT
        '<Root>
<ProductDescription ProductID="1" ProductName="Road Bike">
<Features>
  <Warranty>1 year parts and labor</Warranty>
  <Maintenance>3 year parts and labor extended maintenance is available</Maintenance>
</Features>
</ProductDescription>
</Root>';

INSERT INTO xml_demo (object_col)
    SELECT
        '<Root>
<ProductDescription ProductID="2" ProductName="Skate">
<Features>
  <Warranty>1 year parts and labor</Warranty>
  <Maintenance>3 year parts and labor extended maintenance is available</Maintenance>
</Features>
</ProductDescription>
</Root>';

SELECT
    xml_demo.object_col.value('(/Root/ProductDescription/@ProductID)[1]', 'int' ) as ID,
    xml_demo.object_col.value('(/Root/ProductDescription/@ProductName)[1]', 'varchar(max)' ) as ProductName,
    xml_demo.object_col.value('(/Root/ProductDescription/Features/Warranty)[1]', 'varchar(max)' ) as Warranty
from xml_demo;
Copy
 ID | ProductName | Warranty               |
----+-------------+------------------------+
1   | Road Bike   | 1 year parts and labor |
2   | Skate       | 1 year parts and labor |

Copy
Snowflake SQL
 CREATE OR REPLACE TABLE xml_demo (
    object_col VARIANT !!!RESOLVE EWI!!! /*** SSC-EWI-0036 - XML DATA TYPE CONVERTED TO VARIANT ***/!!!
)
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"transact"}}'
;

INSERT INTO xml_demo (object_col)
SELECT
    PARSE_XML(
    '<Root>
<ProductDescription ProductID="1" ProductName="Road Bike">
<Features>
  <Warranty>1 year parts and labor</Warranty>
  <Maintenance>3 year parts and labor extended maintenance is available</Maintenance>
</Features>
</ProductDescription>
</Root>');

INSERT INTO xml_demo (object_col)
SELECT
    PARSE_XML(
    '<Root>
<ProductDescription ProductID="2" ProductName="Skate">
<Features>
  <Warranty>1 year parts and labor</Warranty>
  <Maintenance>3 year parts and labor extended maintenance is available</Maintenance>
</Features>
</ProductDescription>
</Root>');

SELECT
    GET(XMLGET(object_col, 'ProductDescription'), '@ProductID') :: INT as ID,
    GET(XMLGET(object_col, 'ProductDescription'), '@ProductName') :: VARCHAR as ProductName,
    GET(XMLGET(XMLGET(XMLGET(object_col, 'ProductDescription'), 'Features'), 'Warranty', 0), '$') :: VARCHAR as Warranty
from
    xml_demo;
Copy
 ID | PRODUCTNAME | WARRANRTY              |
----+-------------+------------------------+
1   | Road Bike   | 1 year parts and labor |
2   | Skate       | 1 year parts and labor |

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

  1. [SSC-EWI-0036](../../general/technical-documentation/issues-and-troubleshooting/conversion-issues/generalEWI. md#ssc-ewi-0036): Datentyp in einen anderen Datentyp konvertiert.

Aggregatfunktionen

COUNT

Applies to
  • [x] SQL Server

  • [x] 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

COUNT ( { [ [ ALL | DISTINCT ] expression ] | * } )  

Copy

Snowflake SQL-Dokumentation

COUNT( [ DISTINCT ] <expr1> [ , <expr2> ... ] )

Copy

Beispiele

Code:

 SELECT COUNT(NATIONALIDNUMBER) FROM HUMANRESOURCES.EMPLOYEE AS TOTAL;
Copy

Ergebnis:

TOTAL|
-----+
  290|

Copy

Code:

 SELECT
COUNT(NATIONALIDNUMBER) FROM
HUMANRESOURCES.EMPLOYEE AS TOTAL;
Copy

Ergebnis:

TOTAL|
-----+
  290|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

COUNT_BIG

Applies to
  • [x] SQL Server

  • [x] 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

COUNT_BIG ( { [ [ ALL | DISTINCT ] expression ] | * } )  

Copy

Snowflake SQL-Dokumentation

COUNT( [ DISTINCT ] <expr1> [ , <expr2> ... ] )

Copy

Beispiele

Code:

 SELECT COUNT_BIG(NATIONALIDNUMBER) FROM HUMANRESOURCES.EMPLOYEE AS TOTAL;
Copy

Ergebnis:

TOTAL|
-----+
  290|

Copy

Code:

 SELECT
COUNT(NATIONALIDNUMBER) FROM
HUMANRESOURCES.EMPLOYEE AS TOTAL;
Copy

Ergebnis:

TOTAL|
-----+
  290|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

SUM

Applies to
  • [x] SQL Server

  • [x] 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

SUM ( [ ALL | DISTINCT ] expression )  

Copy

Snowflake SQL-Dokumentation

SUM( [ DISTINCT ] <expr1> )

Copy

Beispiele

Code:

 SELECT SUM(VACATIONHOURS) FROM HUMANRESOURCES.EMPLOYEE AS TOTALVACATIONHOURS;
Copy

Ergebnis:

TOTALVACATIONHOURS|
------------------+
             14678|

Copy

Code:

 SELECT
SUM(VACATIONHOURS) FROM
HUMANRESOURCES.EMPLOYEE AS TOTALVACATIONHOURS;
Copy

Ergebnis:

TOTALVACATIONHOURS|
------------------+
             14678|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

Kundenspezifische UDFs in SnowConvert

Beschreibung

Einige Funktionen oder Verhaltensweisen von Transact-SQL sind möglicherweise nicht verfügbar oder verhalten sich in Snowflake anders. Um diese Unterschiede zu minimieren, werden einige Funktionen durch SnowConvert benutzerdefinierte 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
  • [x] SQL Server

  • [x] 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

  1. XML: Ein VARCHAR, der den lesbaren Inhalt der XML darstellt.

  2. PATH: Ein Varchar, der das Muster der Knoten enthält, die als Zeilen verarbeitet werden sollen.

 CREATE OR REPLACE FUNCTION OPENXML_UDF(XML VARCHAR, PATH VARCHAR)
RETURNS TABLE(VALUE VARIANT)
LANGUAGE SQL
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},"attributes":{"component":"udf"}}'
AS
$$
SELECT VALUE from TABLE(FLATTEN(input=>XML_JSON_SIMPLE(PARSE_XML(XML)), path=>PATH))
$$;


CREATE OR REPLACE FUNCTION XML_JSON_SIMPLE(XML VARIANT)
RETURNS OBJECT
LANGUAGE JAVASCRIPT
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},"attributes":{"component":"udf"}}'
AS
$$
function toNormalJSON(xmlJSON) {
    var finalres = {};
    var name=xmlJSON['@'];
    var res = {};
    finalres[name] = res;
    for(var key in xmlJSON)
    {
        if (key == "@")
        {
            res["$name"] = xmlJSON["@"];
        }
        else if (key == "$") {
            continue;
        }
        else if (key.startsWith("@"))
        {
            // This is an attribute
            res[key]=xmlJSON[key];
        }
        else
        {
            var elements = xmlJSON['$']
            var value = xmlJSON[key];
            res[key] = [];
            if (Array.isArray(value))
            {
                for(var elementKey in value)
                {
                    var currentElement = elements[elementKey];
                    var fixedElement = toNormalJSON(currentElement);
                    res[key].push(fixedElement);
                }
            }
            else if (value === 0)
            {
                var fixedElement = toNormalJSON(elements);
                res[key].push(fixedElement);
            }
        }
    }
    return finalres;
}
return toNormalJSON(XML);
$$;
Copy

Transact-SQL

 DECLARE @idoc INT, @doc VARCHAR(1000);  
SET @doc ='  
<ROOT>  
<Customer CustomerID="VINET" ContactName="Paul Henriot">  
   <Order CustomerID="VINET" EmployeeID="5" OrderDate="1996-07-04T00:00:00">  
      <OrderDetail OrderID="10248" ProductID="11" Quantity="12"/>  
      <OrderDetail OrderID="10248" ProductID="42" Quantity="10"/>  
   </Order>  
</Customer>  
<Customer CustomerID="LILAS" ContactName="Carlos Gonzlez">  
   <Order CustomerID="LILAS" EmployeeID="3" OrderDate="1996-08-16T00:00:00">  
      <OrderDetail OrderID="10283" ProductID="72" Quantity="3"/>  
   </Order>  
</Customer>  
</ROOT>';  

EXEC sp_xml_preparedocument @idoc OUTPUT, @doc;  
 
SELECT *  FROM OPENXML (@idoc, '/ROOT/Customer',1)  
WITH (CustomerID  VARCHAR(10), ContactName VARCHAR(20)); 
Copy
CustomerID  | ContactName
----------------------------+
VINET	    | Paul Henriot
LILAS	    | Carlos Gonzlez

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

 DECLARE
IDOC INT;
DOC VARCHAR(1000);
BlockResultSet RESULTSET;
BEGIN
DOC := '  
<ROOT>  
<Customer CustomerID="VINET" ContactName="Paul Henriot">  
   <Order CustomerID="VINET" EmployeeID="5" OrderDate="1996-07-04T00:00:00">  
      <OrderDetail OrderID="10248" ProductID="11" Quantity="12"/>  
      <OrderDetail OrderID="10248" ProductID="42" Quantity="10"/>  
   </Order>  
</Customer>  
<Customer CustomerID="LILAS" ContactName="Carlos Gonzlez">  
   <Order CustomerID="LILAS" EmployeeID="3" OrderDate="1996-08-16T00:00:00">  
      <OrderDetail OrderID="10283" ProductID="72" Quantity="3"/>  
   </Order>  
</Customer>  
</ROOT>';
!!!RESOLVE EWI!!! /*** SSC-EWI-TS0075 - TRANSLATION FOR BUILT-IN PROCEDURE 'sp_xml_preparedocument' IS NOT CURRENTLY SUPPORTED. ***/!!!

EXEC sp_xml_preparedocument :IDOC OUTPUT, :DOC;
BlockResultSet := (

SELECT
Left(value:Customer['@CustomerID'], '10') AS 'CustomerID',
Left(value:Customer['@ContactName'], '20') AS 'ContactName'
FROM
OPENXML_UDF(:IDOC, ':ROOT:Customer'));
RETURN TABLE(BlockResultSet);
END;
Copy
CustomerID  | ContactName
----------------------------+
VINET	    | Paul Henriot
LILAS	    | Carlos Gonzlez

Copy
 SET code = '<ROOT>  
<Customer CustomerID="VINET" ContactName="Paul Henriot">  
   <Order CustomerID="VINET" EmployeeID="5" OrderDate="1996-07-04T00:00:00">  
      <OrderDetail OrderID="10248" ProductID="11" Quantity="12"/>  
   </Order>  
</Customer>  
</ROOT>';
SELECT
Left(value:Customer['@CustomerID'],10) as "CustomerID",  
Left(value:Customer['@ContactName'],20) as "ContactName"
FROM TABLE(OPENXML_UDF($code,'ROOT:Customer'));
Copy
CustomerID  | ContactName
----------------------------+
VINET	    | Paul Henriot

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

  1. [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
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Diese benutzerdefinierte UDF wandelt numerische Daten in Zeichendaten um.

Benutzerdefinierte UDF-Überlastungen

Parameter

  1. FLOAT_EXPR: Ein numerischer Ausdruck, der in Varchar konvertiert werden soll.

  2. FORMAT: Ein Varchar-Ausdruck mit der Länge und der Anzahl der Dezimalstellen des resultierenden Varchar-Wertes. Dieses Format wird automatisch in SnowConvert generiert.

 CREATE OR REPLACE FUNCTION PUBLIC.STR_UDF(FLOAT_EXPR FLOAT, FORMAT VARCHAR)
RETURNS VARCHAR
LANGUAGE SQL
IMMUTABLE
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},"attributes":{"component":"udf"}}'
AS
$$
    TRIM(TRIM(SELECT TO_CHAR(FLOAT_EXPR, FORMAT)), '.')
$$;

CREATE OR REPLACE FUNCTION PUBLIC.STR_UDF(FLOAT_EXPR FLOAT)
RETURNS VARCHAR
LANGUAGE SQL
IMMUTABLE
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},"attributes":{"component":"udf"}}'
AS
$$
    STR_UDF(FLOAT_EXPR, '999999999999999999')
$$;
Copy
Transact-SQL
 SELECT
    STR(123.5) as A,
    STR(123.5, 2) as B,
    STR(123.45, 6) as C,
    STR(123.45, 6, 1) as D;
Copy

A

B

C

D

124

**

123

123,5

Snowflake
 SELECT
    PUBLIC.STR_UDF(123.5, '99999') as A,
    PUBLIC.STR_UDF(123.5, '99') as B,
    PUBLIC.STR_UDF(123.45, '999999') as C,
    PUBLIC.STR_UDF(123.45, '9999.9') as D;
Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

SWITCHOFFSET_UDF

Applies to
  • [x] SQL Server

  • [x] 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

  1. source\_timestamp: Ein TIMESTAMP_TZ, der in einen datetimeoffset(n)-Wert aufgelöst werden kann.

  2. target_tz: Ein Varchar, der den Zeitzonenoffset darstellt

 CREATE OR REPLACE FUNCTION PUBLIC.SWITCHOFFSET_UDF(source_timestamp TIMESTAMP_TZ, target_tz varchar)
RETURNS TIMESTAMP_TZ
LANGUAGE SQL
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},"attributes":{"component":"udf"}}'
AS 
$$
WITH tz_values AS (
SELECT 
    RIGHT(source_timestamp::varchar, 5) as source_tz,
    
    REPLACE(source_tz::varchar, ':', '') as source_tz_clean,
    REPLACE(target_tz::varchar, ':', '') as target_tz_clean,
    
    target_tz_clean::integer - source_tz_clean::integer as offset,
    
    RIGHT(offset::varchar, 2) as tz_min,
    PUBLIC.OFFSET_FORMATTER(RTRIM(offset::varchar, tz_min)) as tz_hrs,
    
    
    TIMEADD( hours, tz_hrs::integer, source_timestamp ) as adj_hours,
    TIMEADD( minutes, (LEFT(tz_hrs, 1) || tz_min)::integer, adj_hours::timestamp_tz ) as new_timestamp
    
FROM DUAL)
SELECT 
    (LEFT(new_timestamp, 24) || ' ' || target_tz)::timestamp_tz
FROM tz_values
$$;

-- ==========================================================================
-- Description: The function OFFSET_FORMATTER(offset_hrs varchar) serves as
-- an auxiliar function to format the offter hours and its prefix operator.
-- ==========================================================================  
CREATE OR REPLACE FUNCTION PUBLIC.OFFSET_FORMATTER(offset_hrs varchar)
RETURNS varchar
LANGUAGE SQL
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},"attributes":{"component":"udf"}}'
AS
$$
CASE
   WHEN LEN(offset_hrs) = 0 THEN '+' || '0' || '0'
   WHEN LEN(offset_hrs) = 1 THEN '+' || '0' || offset_hrs
   WHEN LEN(offset_hrs) = 2 THEN
        CASE 
            WHEN LEFT(offset_hrs, 1) = '-' THEN '-' || '0' || RIGHT(offset_hrs, 1)
            ELSE '+' || offset_hrs
        END
    ELSE offset_hrs
END
$$;
Copy

Transact-SQL

 SELECT 
  '1998-09-20 7:45:50.71345 +02:00' as fr_time,
  SWITCHOFFSET('1998-09-20 7:45:50.71345 +02:00', '-06:00') as cr_time;  
Copy
SELECT 
  '1998-09-20 7:45:50.71345 +02:00' as fr_time,
  SWITCHOFFSET('1998-09-20 7:45:50.71345 +02:00', '-06:00') as cr_time;  

Copy
Snowflake
 SELECT
  '1998-09-20 7:45:50.71345 +02:00' as fr_time,
  PUBLIC.SWITCHOFFSET_UDF('1998-09-20 7:45:50.71345 +02:00', '-06:00') as cr_time;
Copy
fr_time                         cr_time
------------------------------- ----------------------------------
1998-09-20 7:45:50.71345 +02:00 1998-09-19 23:45:50.7134500 -06:00

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

Metadatenfunktionen

DB_NAME

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Diese Funktion gibt den Namen einer angegebenen Datenbank zurück. (DB_NAME in Transact-SQL).

Beispielhaftes Quellcode-Muster

Syntax

 DB_NAME ( [ database_id ] )  
Copy

Snowflake SQL-Dokumentation

 CURRENT_DATABASE() /*** SSC-FDM-TS0010 - CURRENT_DATABASE function has different behavior in certain cases ***/
Copy

Beispiele

Code:

 SELECT DB_NAME();
Copy

Ergebnis:

RESULT             |
-------------------+
ADVENTUREWORKS2019 |

Copy

Code:

 SELECT
CURRENT_DATABASE() /*** SSC-FDM-TS0010 - CURRENT_DATABASE function has different behavior in certain cases ***/;
Copy

Ergebnis:

RESULT             |
-------------------+
ADVENTUREWORKS2019 |

Copy

Bekannte Probleme

1. Die CURRENT\DATABASE-Funktion verhält sich in bestimmten Fällen anders

Die DB_NAME-Funktion kann mit dem Parameter database_id aufgerufen werden, der den Namen der angegebenen Datenbank zurückgibt. Ohne Parameter gibt die Funktion den aktuellen Datenbanknamen zurück. SnowFlake unterstützt diesen Parameter jedoch nicht und die Funktion CURRENT_DATABASE gibt immer den aktuellen Datenbanknamen zurück.

Zugehörige EWIs

  1. [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
  • [x] SQL Server

  • [x] 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).

 OBJECT_ID ( '[ database_name . [ schema_name ] . | schema_name . ]   
  object_name' [ ,'object_type' ] )
Copy

Beispielhafte Quellcode-Muster

1. Default transformation

 IF OBJECT_ID_UDF('DATABASE2.DBO.TABLE1') is not null) THEN
            DROP TABLE IF EXISTS TABLE1;
        END IF;
Copy
 BEGIN
-- ** SSC-EWI-0001 - UNRECOGNIZED TOKEN ON LINE '1' COLUMN '0' OF THE SOURCE CODE STARTING AT 'IF'. EXPECTED 'If Statement' GRAMMAR. LAST MATCHING TOKEN WAS 'null' ON LINE '1' COLUMN '48'. FAILED TOKEN WAS ')' ON LINE '1' COLUMN '52'. CODE '70'. **
--IF OBJECT_ID_UDF('DATABASE2.DBO.TABLE1') is not null) THEN
--** SSC-FDM-0007 - MISSING DEPENDENT OBJECT "TABLE1" **
DROP TABLE IF EXISTS TABLE1;
END;
Copy

2. Unknown database

Code:

 IF OBJECT_ID_UDF('DATABASE1.DBO.TABLE1') is not null) THEN
            DROP TABLE IF EXISTS TABLE1;
        END IF;
Copy

Code:

  IF (
 OBJECT_ID_UDF('DATABASE1.DBO.TABLE1') is not null) THEN
     DROP TABLE IF EXISTS TABLE1;
 END IF;
Copy

3. Different object names

Code:

 IF OBJECT_ID_UDF('DATABASE1.DBO.TABLE2') is not null) THEN
            DROP TABLE IF EXISTS TABLE1;
        END IF;
Copy

Code:

  IF (
 OBJECT_ID_UDF('DATABASE1.DBO.TABLE2') is not null) THEN
     DROP TABLE IF EXISTS TABLE1;
 END IF;
Copy

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

LAG

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Bemerkung

Einige Teile des Ausgabecodes wurden aus Gründen der Übersichtlichkeit weggelassen.

Beschreibung

Greift ab SQL Server 2012 (11.x) auf Daten aus einer vorherigen Zeile im selben Resultset zu, ohne dass ein Self-Join verwendet wird. LAG ermöglicht den Zugriff auf eine Zeile mit einem bestimmten physischen Offset, die vor der aktuellen Zeile liegt. Verwenden Sie diese analytische Funktion in einer SELECT-Anweisung, um Werte in der aktuellen Zeile mit Werten in einer vorherigen Zeile zu vergleichen.

Beispielhaftes Quellcode-Muster

Syntax

LAG (scalar_expression [,offset] [,default])  
    OVER ( [ partition_by_clause ] order_by_clause )  

Copy

Snowflake SQL-Dokumentation

COUNT( [ DISTINCT ] <expr1> [ , <expr2> ... ] )

Copy

Beispiele

Code:

 SELECT TOP 10 
LAG(E.VacationHours,1) OVER(ORDER BY E.NationalIdNumber) as PREVIOUS,
E.VacationHours AS ACTUAL 
FROM HumanResources.Employee E
Copy

Ergebnis:

PREVIOUS|ACTUAL|
--------+------+
    NULL|    10|
      10|    89|
      89|    10|
      10|    48|
      48|     0|
       0|    95|
      95|    55|
      55|    67|
      67|    84|
      84|    85|

Copy

Code:

 SELECT TOP 10
LAG(E.VacationHours,1) OVER(ORDER BY E.NationalIdNumber) as PREVIOUS,
E.VacationHours AS ACTUAL
FROM
HumanResources.Employee E;
Copy

Ergebnis:

PREVIOUS|ACTUAL|
--------+------+
    NULL|    10|
      10|    89|
      89|    10|
      10|    48|
      48|     0|
       0|    95|
      95|    55|
      55|    67|
      67|    84|
      84|    85|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

Datentypfunktionen

DATALENGTH

Applies to
  • [x] SQL Server

  • [x] 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

DATALENGTH ( expression )   

Copy

Snowflake SQL-Dokumentation

OCTET_LENGTH(<string_or_binary>)

Copy

Beispiele

Code:

 SELECT DATALENGTH('SomeString') AS SIZE;
Copy

Ergebnis:

SIZE|
----+
  10|

Copy

Code:

 SELECT OCTET_LENGTH('SomeString') AS SIZE;
Copy

Ergebnis:

SIZE|
----+
  10|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

Mathematische Funktionen

ABS

Applies to
  • [x] SQL Server

  • [x] 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

ABS( expression )

Copy

Snowflake SQL-Dokumentation

ABS( <num_expr> )

Copy

Vollständige Dokumentation zu JavaScript

Math.abs( expression )

Copy

Beispiele

Code:

 SELECT ABS(-5);
Copy

Ergebnis:

ABS(-5)|
-------+
      5|

Copy

Code:

 SELECT ABS(-5);
Copy

Ergebnis:

ABS(-5)|
-------+
      5|

Copy

Code:

 CREATE OR REPLACE FUNCTION compute_abs(a float)
  RETURNS float
  LANGUAGE JAVASCRIPT
AS
$$
  return Math.abs(A);
$$
;
SELECT COMPUTE_ABS(-5);
Copy

\ Ergebnis:

COMPUTE_ABS(-5)|
---------------+
              5|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

AVG

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Bemerkung

Der Abschnitt „SnowConvert Helpers Code“ 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

AVG ( [ ALL | DISTINCT ] expression )  
   [ OVER ( [ partition_by_clause ] order_by_clause ) ]

Copy

Snowflake SQL-Dokumentation

AVG( [ DISTINCT ] <expr1> )

AVG( [ DISTINCT ] <expr1> ) OVER (
                                 [ PARTITION BY <expr2> ]
                                 [ ORDER BY <expr3> [ ASC | DESC ] [ <window_frame> ] ]
                                 )

Copy

Beispiele

Code:

 SELECT AVG(VACATIONHOURS) AS AVG_VACATIONS FROM HUMANRESOURCES.EMPLOYEE;
Copy

Ergebnis:

AVG_VACATIONS|
-------------+
           50|

Copy

Code:

 SELECT AVG(VACATIONHOURS) AS AVG_VACATIONS FROM HUMANRESOURCES.EMPLOYEE;
Copy

Ergebnis:

AVG_VACATIONS|
-------------+
    50.613793|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

CEILING

Applies to
  • [x] SQL Server

  • [x] 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

CEILING( expression )

Copy
CEIL( <input_expr> [, <scale_expr> ] )

Copy
 Math.ceil( expression )
Copy

Beispiele

Code:

SELECT CEILING(642.20);
Copy

\ Ergebnis:

CEILING(642.20)|
---------------+
643            |

Copy

Code:

 SELECT CEIL(642.20);
Copy

\ Ergebnis:

CEIL(642.20)|
------------+
643         |

Copy

Code:

 CREATE OR REPLACE FUNCTION compute_ceil(a double)
  RETURNS double
  LANGUAGE JAVASCRIPT
AS
$$
  return Math.ceil(A);
$$
;
SELECT COMPUTE_CEIL(642.20);
Copy

\ Ergebnis:

COMPUTE_CEIL(642.20)|
--------------------+
                 643|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

FLOOR

Applies to
  • [x] SQL Server

  • [x] 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

FLOOR ( numeric_expression )  

Copy

Snowflake SQL-Dokumentation

FLOOR( <input_expr> [, <scale_expr> ] )

Copy

Beispiele

Code:

 SELECT FLOOR (124.87) AS FLOOR;
Copy

Ergebnis:

FLOOR|
-----+
  124|

Copy

Code:

 SELECT FLOOR (124.87) AS FLOOR;
Copy

Ergebnis:

FLOOR|
-----+
  124|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

POWER

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Gibt den Wert des angegebenen Ausdrucks in der angegebenen Potenz zurück. (POWER in Transact-SQL).

Beispielhaftes Quellcode-Muster

Syntax

POWER ( float_expression , y )  

Copy

Snowflake SQL-Dokumentation

POW(x, y)

POWER (x, y)

Copy

Beispiele

Code:

 SELECT POWER(2, 10.0) AS IntegerResult
Copy

Ergebnis:

IntegerResult |
--------------+
          1024|

Copy

Code:

 SELECT POWER(2, 10.0) AS IntegerResult;
Copy

Ergebnis:

IntegerResult |
--------------+
          1024|

Copy

Zugehörige Dokumentation

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

ROUND

Applies to
  • [x] SQL Server

  • [x] 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

ROUND ( numeric_expression , length [ ,function ] )  

Copy

Snowflake SQL-Dokumentation

ROUND( <input_expr> [, <scale_expr> ] )

Copy

Beispiele

Code:

 SELECT ROUND(123.9994, 3) AS COL1, ROUND(123.9995, 3) AS COL2;  
Copy

Ergebnis:

COL1    |COL2    |
--------+--------+
123.9990|124.0000|

Copy

Code:

 SELECT ROUND(123.9994, 3) AS COL1,
ROUND(123.9995, 3) AS COL2;
Copy

Ergebnis:

COL1   | COL2  |
--------+------+
123.999|124.000|

Copy

Zugehörige Dokumentation

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

SQRT

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Gibt die Quadratwurzel des angegebenen Gleitkommawerts zurück. (SQRT in Transact-SQL).

Beispielhaftes Quellcode-Muster

Syntax

SQRT ( float_expression )  

Copy

Snowflake SQL-Dokumentation

SQRT(expr)

Copy

Beispiele

Code:

 SELECT SQRT(25) AS RESULT;
Copy

Ergebnis:

RESULT|
------+
   5.0|

Copy

Code:

 SELECT SQRT(25) AS RESULT;
Copy

Ergebnis:

RESULT|
------+
   5.0|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

SQUARE

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Gibt das Quadrat des angegebenen Gleitkommawerts zurück. (SQUARE in Transact-SQL).

Beispielhaftes Quellcode-Muster

Syntax

SQUARE ( float_expression )  

Copy

Snowflake SQL-Dokumentation

SQUARE(expr)

Copy

Beispiele

Code:

 SELECT SQUARE (5) AS SQUARE;
Copy

Ergebnis:

SQUARE|
------+
  25.0|

Copy

Code:

 SELECT SQUARE (5) AS SQUARE;
Copy

Ergebnis:

SQUARE|
------+
    25|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

STDEV

Applies to
  • [x] SQL Server

  • [x] 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

 STDEV ( [ ALL | DISTINCT ] expression )  
Copy

Snowflake SQL-Dokumentation

 STDDEV( [ DISTINCT ] <expression_1> )
Copy

Beispiele

Code:

 SELECT
    STDEV(VACATIONHOURS)
FROM
    HUMANRESOURCES.EMPLOYEE AS STDEV;
Copy

Ergebnis:

           STDEV|
----------------+
28.7862150320948|

Copy

Code:

 SELECT
    STDDEV(VACATIONHOURS)
FROM
    HUMANRESOURCES.EMPLOYEE AS STDEV;
Copy

Ergebnis:

       STDEV|
------------+
28.786215034|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

STDEVP

Applies to
  • [x] SQL Server

  • [x] 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

STDEVP ( [ ALL | DISTINCT ] expression )  

Copy

Snowflake SQL-Dokumentation

STDDEV_POP( [ DISTINCT ] expression_1)

Copy

Beispiele

Code:

 SELECT
    STDEVP(VACATIONHOURS) AS STDEVP_VACATIONHOURS
FROM
    HumanResources.Employee;
Copy

Ergebnis:

STDEVP_VACATIONHOURS|
--------------------+
  28.736540767245085|

Copy

Code:

 SELECT
    STDDEV_POP(VACATIONHOURS) AS STDEVP_VACATIONHOURS
FROM
    HumanResources.Employee;
Copy

Ergebnis:

STDEVP_VACATIONHOURS|
--------------------+
        28.736540763|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

VAR

Applies to
  • [x] SQL Server

  • [x] 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

VAR ( [ ALL | DISTINCT ] expression )  

Copy
VAR_SAMP( [DISTINCT] <expr1> )

Copy

Beispiele

Code:

 SELECT
    VAR(VACATIONHOURS)
FROM
    HUMANRESOURCES.EMPLOYEE AS VAR;
Copy

Ergebnis:

             VAR|
----------------+
28.7862150320948|

Copy

Code:

 SELECT
    VAR_SAMP(VACATIONHOURS)
FROM
    HUMANRESOURCES.EMPLOYEE AS VAR;
Copy

Ergebnis:

       VAR|
----------+
828.646176|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

POWER

Applies to
  • [x] SQL Server

  • [x] 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

 POWER( base, exp )
Copy
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 TypeReturn Type
float, realfloat
decimal(p, s)decimal(38, s)
int, smallint, tinyintint
bigintbigint
money, smallmoneymoney
bit, char, nchar, varchar, nvarcharfloat

Beispiele

 SELECT POWER(2, 3)
Copy
POWER(2, 3)|
-----------+
        8.0|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

POW in JS

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Gibt die Basis der Potenz des Exponenten zurück. (Dokumentation zur JavaScript-Funktion POW).

Beispielhaftes Quellcode-Muster

Syntax

 Math.pow( base, exp )
Copy
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

 CREATE OR REPLACE FUNCTION compute_pow(base float, exp float)
  RETURNS float
  LANGUAGE JAVASCRIPT
AS
$$
    return Math.pow(BASE, EXP);
$$
;
SELECT COMPUTE_POW(2, 3);
Copy
COMPUTE_POW(2, 3)|
-----------------+
                8|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

ACOS

Applies to
  • [x] SQL Server

  • [x] 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

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

 SELECT ACOS(-1.0);
Copy
ACOS(-1.0)       |
-----------------+
3.141592653589793|


Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

ACOS in JS

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Funktion, die den Arkosinus einer bestimmten Zahl zurückgibt. (Dokumentation zur JavaScript-Funktion ACOS).

Beispielhaftes Quellcode-Muster

Syntax

 Math.acos( expression )
Copy
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

 CREATE OR REPLACE FUNCTION compute_acos(a double)
  RETURNS double
  LANGUAGE JAVASCRIPT
AS
$$
  return Math.acos(A);
$$
;
SELECT COMPUTE_ACOS(-1);
Copy
COMPUTE_ACOS(-1)|
---------------+
    3.141592654|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

ASIN

Applies to
  • [x] SQL Server

  • [x] 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

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

 SELECT ASIN(0.5);
Copy
ASIN(0.5)         |
------------------+
0.5235987755982989|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

ASIN in JS

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Funktion, die den Arkussinus einer bestimmten Zahl zurückgibt. (Dokumentation zurJavaScript-Funktion ASIN).

Beispielhaftes Quellcode-Muster

Syntax

 Math.asin( expression )
Copy
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

 CREATE OR REPLACE FUNCTION compute_asin(a float)
  RETURNS float
  LANGUAGE JAVASCRIPT
AS
$$
  return Math.asin(A);
$$
;
SELECT COMPUTE_ASIN(0.5);
Copy
COMPUTE_ASIN(1)   |
------------------+
      0.5235987756|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

COS

Applies to
  • [x] SQL Server

  • [x] 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

 COS( expression )
Copy
Argumente

expression: Numerischer Float-Ausdruck, wobei Ausdruck in $$\mathbb{R}$$ ist.

Return Type

Numerischer Float-Ausdruck in $$[-1, 1]$$.

Beispiele

 SELECT COS(PI())
Copy
COS(PI())|
---------+
     -1.0|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

COS in JS

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Statische Funktion, die den Kosinus eines Winkels im Bogenmaß zurückgibt (Dokumentation zurJavaScript COS-Funktion).

Beispielhaftes Quellcode-Muster

Syntax

 Math.cos( expression )
Copy
Argumente

expression: Numerische Ausdrücke.

Return Type

Derselbe Datentyp, der über den Parameter als numerischer Ausdruck gesendet wird.

Beispiele

 CREATE OR REPLACE FUNCTION compute_cos(angle float)
  RETURNS float
  LANGUAGE JAVASCRIPT
AS
$$
  return Math.cos(ANGLE); 
$$
;
SELECT COMPUTE_COS(PI());
Copy
COMPUTE_COS(PI())|
-----------------+
               -1|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

COT

Applies to
  • [x] SQL Server

  • [x] 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

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

 SELECT COT(1)
Copy
COT(1)            |
------------------+
0.6420926159343306|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

COT in JS

Applies to
  • [x] SQL Server

  • [x] 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

 function cot(angle){
    return Math.cos(angle)/Math.sin(angle);
}
Copy
Argumente

angle: Numerischer Ausdruck im Bogenmaß.

Return Type

Derselbe Datentyp, der über den Parameter als numerischer Ausdruck gesendet wird.

Beispiele

 CREATE OR REPLACE FUNCTION compute_cot(angle float)
  RETURNS float
  LANGUAGE JAVASCRIPT
AS
$$
  function cot(angle){
    return Math.cos(angle)/Math.sin(angle);
  }
  return cot(ANGLE);
    
$$
;
SELECT COMPUTE_COT(1);
Copy
COMPUTE_COT(1);   |
------------------+
0.6420926159343308|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

RADIANS

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Konvertiert Grad in Bogenmaß.\ (RADIANS in Transact-SQL).

Beispielhaftes Quellcode-Muster

Syntax

 RADIANS( expression )
Copy
Argumente

expression: Numerischer Ausdruck in Grad.

Return Type

Derselbe Datentyp wird über den Parameter als numerischer Ausdruck im Bogenmaß gesendet.

Beispiele

 SELECT RADIANS(180.0)
Copy
RADIANS(180)        |
--------------------+
3.141592653589793116|

Copy

Bemerkung

Wandeln Sie den Parameter dieser Funktion in einen Gleitkommawert um, andernfalls gibt die obige Anweisung 3 statt des Wertes PI zurück.

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

RADIANS in JS

Applies to
  • [x] SQL Server

  • [x] 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

 function radians(angle){
    return (Math.PI/180) * angle;
}
Copy
Argumente

winkel: Fließkomma-Ausdruck in Grad.

Return Type

Derselbe Datentyp wird über den Parameter als numerischer Ausdruck im Bogenmaß gesendet.

Beispiele

 CREATE OR REPLACE FUNCTION RADIANS(angle float)
  RETURNS float
  LANGUAGE JAVASCRIPT
AS
$$
    function radians(angle){
      return (Math.PI/180) * angle;
    }
    return radians(ANGLE);
$$
;
SELECT RADIANS(180);
Copy
RADIANS(180)     |
-----------------+
      3.141592654|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

PI

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Liefert den konstanten Wert von PI\ (PI in Transact-SQL).

Beispielhaftes Quellcode-Muster

Syntax

 PI( )
Copy
Argumente

Diese Methode erhält keine Parameter.

Return Type

Float.

Beispiele

 CREATE PROCEDURE CIRCUMFERENCE @radius float
AS 
     SELECT 2 * PI() * @radius;
GO:

EXEC CIRCUMFERENCE @radius = 2;
Copy
CIRCUMFERENCE @radius = 2 |
--------------------------+
          12.5663706143592|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

PI in JS

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Konstante, die die Zahl PI darstellt (ungefähr 3,141592…)\ (JavaScript PI-Dokumentation).

Beispielhaftes Quellcode-Muster

Syntax

 Math.PI
Copy

Beispiele

 CREATE OR REPLACE FUNCTION circumference(radius float)
  RETURNS float
  LANGUAGE JAVASCRIPT
AS
$$
  function circumference(r){
    return 2 * Math.PI * r;
  }
  return circumference(RADIUS); 
$$
;
SELECT CIRCUMFERENCE(2);
Copy
  CIRCUMFERENCE(2)|
------------------+
12.566370614359172|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

DEGREES

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Konvertiert den über Parameter gesendeten Winkel im Bogenmaß in Grad (DEGREES in Transact-SQL).

Beispielhaftes Quellcode-Muster

Syntax

 DEGREES( expression )
Copy
Argumente

expression: Numerischer Float-Ausdruck im Bogenmaß.

Return Type

Derselbe Datentyp, der über den Parameter als numerischer Ausdruck gesendet wird.

Beispiele

 SELECT DEGREES(PI())
Copy
DEGREES(PI())|
-------------+
        180.0|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

DEGREES in JS

Applies to
  • [x] SQL Server

  • [x] 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

 function degress(angle){
    return (180/Math.PI) * angle;
}
Copy
Argumente

angle: Numerischer Ausdruck im Bogenmaß.

Return Type

Derselbe Datentyp, der über den Parameter als numerischer Ausdruck gesendet wird.

Beispiele

 CREATE OR REPLACE FUNCTION compute_degrees(angle float)
  RETURNS float
  LANGUAGE JAVASCRIPT
AS
$$
  function degrees(angle){
    return (180/Math.PI) * angle;
  }
  return degrees(ANGLE);
    
$$
;
SELECT COMPUTE_DEGREES(PI());
Copy
COMPUTE_DEGREES(PI())|
---------------------+
                180.0|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

LOG

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Liefert den natürlichen Logarithmus einer Zahl\ (LOG in Transact-SQL).

Beispielhaftes Quellcode-Muster

Syntax

 LOG( expression [, base ] )
Copy
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

 SELECT LOG(8, 2)
Copy
LOG(8, 2)  |
-----------+
          3|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

LOG in JS

Applies to
  • [x] SQL Server

  • [x] 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

 Math.log( expression )
Copy
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

 CREATE OR REPLACE FUNCTION base_log(base float, exp float)
  RETURNS float
  LANGUAGE JAVASCRIPT
AS
$$
  function getBaseLog(x, y){
    return Math.log(y)/Math.log(x);
  }
  return getBaseLog(EXP, BASE)
$$
;
SELECT BASE_LOG(2, 8);
Copy
BASE_LOG(2, 8)|
--------------+
             3|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

ATAN

Applies to
  • [x] SQL Server

  • [x] 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

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

 SELECT ATAN(-30);
Copy
ATAN(-30)          |
-------------------+
-1.5374753309166493|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

ATAN in JS

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Funktion, die den Arkustangens einer bestimmten Zahl zurückgibt. (Dokumentation zur JavaScript-Funktion ATAN).

Beispielhaftes Quellcode-Muster

Syntax

 Math.atan( expression )
Copy
Argumente

expression: Numerischer Ausdruck.

Return Type

Numerischer Ausdruck zwischen $$-\frac{\pi}{2}$$ und $$\frac{\pi}{2}$$.

Beispiele

 CREATE OR REPLACE FUNCTION compute_atan(a float)
  RETURNS float
  LANGUAGE JAVASCRIPT
AS
$$
  return Math.atan(A);
$$
;
SELECT COMPUTE_ATAN(-30);
Copy
COMPUTE_ATAN(-30)|
-----------------+
     -1.537475331|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

ATN2

Applies to
  • [x] SQL Server

  • [x] 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

 ATN2( expression_1, expression_2 )
Copy
Argumente

expression1und expression2: Numerische Ausdrücke.

Return Type

Numerischer Ausdruck zwischen $$-\pi$$ und $$\pi$$.

Beispiele

 SELECT ATN2(7.5, 2);
Copy
ATN2(7.5, 2)      |
------------------+
1.3101939350475555|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

ATAN2 in JS

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Funktion, die den Arkustangens von zwei Parametern zurückgibt. (Dokumentation zur JavaScript-Funktion ATAN2).

Beispielhaftes Quellcode-Muster

Syntax

 Math.atan2( expression_1, expression_2 )
Copy
Argumente

expression_1und expression_2: Numerische Ausdrücke.

Return Type

Numerischer Ausdruck zwischen $$-\pi$$ und $$\pi$$.

Beispiele

 CREATE OR REPLACE FUNCTION compute_atan2(x float, y float)
  RETURNS float
  LANGUAGE JAVASCRIPT
AS
$$
  return Math.atan2(X, Y);
$$
;
SELECT COMPUTE_ATAN2(7.5, 2);
Copy
ATAN2(7.5, 3)     |
------------------+
       1.310193935|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

LOG10

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Liefert den Logarithmus zur Basis 10 einer Zahl\ (LOG10 in Transact-SQL).

Beispielhaftes Quellcode-Muster

Syntax

 LOG10( expression )
Copy
Argumente

expression: Numerischer Ausdruck, muss positiv sein.

Return Type

Float.

Beispiele

 SELECT LOG10(5)
Copy
LOG10(5)         |
-----------------+
0.698970004336019|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

LOG10 in JS

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Liefert den Logarithmus zur Basis 10 einer Zahl\ (Dokumentation zur JavaScript-Funktion LOG10).

Beispielhaftes Quellcode-Muster

Syntax

 Math.log10( expression )
Copy
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

 CREATE OR REPLACE FUNCTION compute_log10(argument float)
  RETURNS float
  LANGUAGE JAVASCRIPT
AS
$$
    return Math.log10(ARGUMENT);
$$
;
SELECT COMPUTE_LOG10(7.5);
Copy
COMPUTE_LOG10(5)|
----------------+
    0.6989700043|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

EXP

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Liefert den Exponentialwert von Euler (EXP in Transact-SQL).

Beispielhaftes Quellcode-Muster

Syntax

 EXP( expression )
Copy
Argumente

expression: Numerischer Ausdruck.

Return Type

Derselbe Datentyp, der über den Parameter als numerischer Ausdruck gesendet wird.

Beispiele

 SELECT EXP(LOG(20)), LOG(EXP(20))  
GO 
Copy
EXP(LOG(20))   |LOG(EXP(20))    |
---------------+----------------+
           20.0|            20.0|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

EXP in JS

Applies to
  • [x] SQL Server

  • [x] 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

 Math.E
Copy

Beispiele

 CREATE OR REPLACE FUNCTION compute_exp(x float)
  RETURNS float
  LANGUAGE JAVASCRIPT
AS
$$
  return Math.E**X;
$$
;
SELECT COMPUTE_EXP(LN(20)), LN(COMPUTE_EXP(20));
Copy
COMPUTE_EXP(LOG(20))|LOG(COMPUTE_EXP(20))|
--------------------+--------------------+
                20.0|                20.0|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

Konvertierungsfunktionen

CONVERT

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Konvertieren Sie einen Ausdruck von einem Datentyp in einen anderen. (CONVERT in Transact-SQL).

Beispielhaftes Quellcode-Muster

Syntax

CONVERT ( data_type [ ( length ) ] , expression [ , style ] )  

Copy

Snowflake SQL-Dokumentation

CAST( <source_expr> AS <target_data_type> )

Copy

Beispiele

 SELECT CONVERT(INT, '1998') as MyDate
Copy
MyDate |
-------+
1998   |

Copy
 SELECT
CAST('1998' AS INT) as MyDate;
Copy
MYDATE |
-------+
1998   |

Copy

Datumstyp in Varchar umwandeln

 SELECT CONVERT(varchar, getdate(), 1) AS RESULT;
Copy
RESULT   |
---------+
12/08/22 |

Copy
 SELECT
TO_VARCHAR(CURRENT_TIMESTAMP() :: TIMESTAMP, 'mm/dd/yy') AS RESULT;
Copy
RESULT   |
---------+
12/08/22 |

Copy
Datumstyp in Varchar mit Größe umwandeln
 SELECT CONVERT(varchar(2), getdate(), 1) AS RESULT;
Copy
RESULT   |
---------+
07       |

Copy
 SELECT
LEFT(TO_VARCHAR(CURRENT_TIMESTAMP() :: TIMESTAMP, 'mm/dd/yy'), 2) AS RESULT;
Copy
RESULT   |
---------+
07       |

Copy

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

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

TRY_CONVERT

Applies to
  • [x] SQL Server

  • [x] 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

 TRY_CONVERT ( data_type [ ( length ) ], expression [, style ] )  
Copy

Quellcode-Muster

Grundlegende Transformation

Um diese Funktion umzuwandeln, müssen wir zunächst die Parameter des TRY_CONVERT überprüfen.

 TRY_CONVERT( INT, 'test')
Copy

Wenn der Ausdruck, der umgewandelt werden muss, eine Zeichenfolge ist, wird er in TRY_CAST umgewandelt, was eine Funktion von Snowflake ist.

 TRY_CAST( 'test' AS INT)
Copy

TRY_CAST

TRY_CAST hat die gleiche Transformation wie TRY_CONVERT.

Beispiel
Sql Server
 SELECT TRY_CAST('12345' AS NUMERIC) NUMERIC_RESULT,
 TRY_CAST('123.45' AS DECIMAL(20,2)) DECIMAL_RESULT,
 TRY_CAST('123' AS INT) INT_RESULT,
 TRY_CAST('123.02' AS FLOAT) FLOAT_RESULT,
 TRY_CAST('123.02' AS DOUBLE PRECISION) DOUBLE_PRECISION_RESULT,

 TRY_CAST('2017-01-01 12:00:00' AS DATE) DATE_RESULT,
 TRY_CAST('2017-01-01 12:00:00' AS DATETIME) DATETIME_RESULT,
 TRY_CAST('2017-01-01 12:00:00' AS SMALLDATETIME) SMALLDATETIME_RESULT,
 TRY_CAST('12:00:00' AS TIME) TIME_RESULT,
 TRY_CAST('2017-01-01 12:00:00' AS TIMESTAMP) TIMESTAMP_RESULT,
 TRY_CAST('2017-01-01 12:00:00' AS DATETIMEOFFSET) DATETIMEOFFSET_RESULT,

 TRY_CAST(1234 AS VARCHAR) VARCHAR_RESULT,
 TRY_CAST(1 AS CHAR) CHAR_RESULT,
 TRY_CAST('2017-01-01 12:00:00' AS SQL_VARIANT) SQL_VARIANT_RESULT,
 TRY_CAST('LINESTRING(-122.360 47.656, -122.343 47.656 )' AS GEOGRAPHY) GEOGRAPHY_RESULT;
Copy

Das Ergebnis ist dasselbe wie bei dem Beispiel von TRY_CONVERT.

Snowflake
 SELECT
 TRY_CAST('12345' AS NUMERIC(38, 18)) NUMERIC_RESULT,
 TRY_CAST('123.45' AS DECIMAL(20,2)) DECIMAL_RESULT,
 TRY_CAST('123' AS INT) INT_RESULT,
 TRY_CAST('123.02' AS FLOAT) FLOAT_RESULT,
 TRY_CAST('123.02' AS DOUBLE PRECISION) DOUBLE_PRECISION_RESULT,
 TRY_CAST('2017-01-01 12:00:00' AS DATE) DATE_RESULT,
 TRY_CAST('2017-01-01 12:00:00' AS TIMESTAMP_NTZ(3)) DATETIME_RESULT,
 TRY_CAST('2017-01-01 12:00:00' AS TIMESTAMP_NTZ(0)) SMALLDATETIME_RESULT,
 TRY_CAST('12:00:00' AS TIME(7)) TIME_RESULT,
 TRY_CAST('2017-01-01 12:00:00' AS TIMESTAMP) TIMESTAMP_RESULT,
 TRY_CAST('2017-01-01 12:00:00' AS TIMESTAMP_TZ(7)) DATETIMEOFFSET_RESULT,
 TO_VARCHAR(1234) VARCHAR_RESULT,
 TO_CHAR(1) CHAR_RESULT,
 TRY_CAST('2017-01-01 12:00:00' AS VARIANT) SQL_VARIANT_RESULT,
 TRY_CAST('LINESTRING(-122.360 47.656, -122.343 47.656 )' AS GEOGRAPHY) GEOGRAPHY_RESULT;
Copy

Bekannte Probleme

Wenn der Datentyp Varchar oder Char ist, wird er anders umgewandelt.

 TRY_CONVERT(VARCHAR, 1234);
TRY_CONVERT(CHAR, 1);
Copy

Wenn TRY_CAST zusammen mit VARCHAR oder CHAR in Snowflake verwendet wird, führt dies zu einem Fehler, so dass es in

 TO_VARCHAR(1234);
TO_CHAR(1);
Copy

Dasselbe geschieht mit den Datentypen von SQL_VARIANT und GEOGRAPHY.

 TRY_CONVERT(SQL_VARIANT, '2017-01-01 12:00:00');
TRY_CONVERT(GEOGRAPHY, 'LINESTRING(-122.360 47.656, -122.343 47.656 )');
Copy

Werden umgewandelt in

 TO_VARIANT('2017-01-01 12:00:00');
TO_GEOGRAPHY('LINESTRING(-122.360 47.656, -122.343 47.656 )');
Copy

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

 TRY_CAST(14.85 AS INT)
Copy

Wird umgewandelt in

 CAST(14.85 AS INT) /*** SSC-FDM-TS0005 - TRY_CONVERT/TRY_CAST COULD NOT BE CONVERTED TO TRY_CAST ***/
Copy

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

 SELECT 
    CASE
        WHEN TRY_CONVERT( INT, 'Expression') IS NULL
        THEN 'FAILED'
        ELSE 'SUCCEDDED'
    END;
Copy

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
 SELECT TRY_CONVERT(NUMERIC, '12345') NUMERIC_RESULT,
 TRY_CONVERT(DECIMAL(20,2), '123.45') DECIMAL_RESULT,
 TRY_CONVERT(INT, '123') INT_RESULT,
 TRY_CONVERT(FLOAT, '123.02') FLOAT_RESULT,
 TRY_CONVERT(DOUBLE PRECISION, '123.02') DOUBLE_PRECISION_RESULT,

 TRY_CONVERT(DATE, '2017-01-01 12:00:00') DATE_RESULT,
 TRY_CONVERT(DATETIME, '2017-01-01 12:00:00') DATETIME_RESULT,
 TRY_CONVERT(SMALLDATETIME, '2017-01-01 12:00:00') SMALLDATETIME_RESULT,
 TRY_CONVERT(TIME, '12:00:00') TIME_RESULT,
 TRY_CONVERT(TIMESTAMP, '2017-01-01 12:00:00') TIMESTAMP_RESULT,
 TRY_CONVERT(DATETIMEOFFSET, '2017-01-01 12:00:00') DATETIMEOFFSET_RESULT,

 TRY_CONVERT(VARCHAR, 1234) VARCHAR_RESULT,
 TRY_CONVERT(CHAR, 1) CHAR_RESULT,
 TRY_CONVERT(SQL_VARIANT, '2017-01-01 12:00:00') SQL_VARIANT_RESULT,
 TRY_CONVERT(GEOGRAPHY, 'LINESTRING(-122.360 47.656, -122.343 47.656 )') GEOGRAPHY_RESULT;
Copy

Wenn wir diesen Select migrieren, erhalten wir das folgende Ergebnis

Snowflake
 SELECT
 CAST('12345' AS NUMERIC(38, 18)) /*** SSC-FDM-TS0005 - TRY_CONVERT/TRY_CAST COULD NOT BE CONVERTED TO TRY_CAST ***/ NUMERIC_RESULT,
 CAST('123.45' AS DECIMAL(20,2)) /*** SSC-FDM-TS0005 - TRY_CONVERT/TRY_CAST COULD NOT BE CONVERTED TO TRY_CAST ***/ DECIMAL_RESULT,
 CAST('123' AS INT) /*** SSC-FDM-TS0005 - TRY_CONVERT/TRY_CAST COULD NOT BE CONVERTED TO TRY_CAST ***/ INT_RESULT,
 CAST('123.02' AS FLOAT) /*** SSC-FDM-TS0005 - TRY_CONVERT/TRY_CAST COULD NOT BE CONVERTED TO TRY_CAST ***/ FLOAT_RESULT,
 CAST('123.02' AS DOUBLE PRECISION) /*** SSC-FDM-TS0005 - TRY_CONVERT/TRY_CAST COULD NOT BE CONVERTED TO TRY_CAST ***/ DOUBLE_PRECISION_RESULT,
 CAST('2017-01-01 12:00:00' AS DATE) /*** SSC-FDM-TS0005 - TRY_CONVERT/TRY_CAST COULD NOT BE CONVERTED TO TRY_CAST ***/ DATE_RESULT,
 CAST('2017-01-01 12:00:00' AS TIMESTAMP_NTZ(3)) /*** SSC-FDM-TS0005 - TRY_CONVERT/TRY_CAST COULD NOT BE CONVERTED TO TRY_CAST ***/ DATETIME_RESULT,
 CAST('2017-01-01 12:00:00' AS TIMESTAMP_NTZ(0)) /*** SSC-FDM-TS0005 - TRY_CONVERT/TRY_CAST COULD NOT BE CONVERTED TO TRY_CAST ***/ SMALLDATETIME_RESULT,
 CAST('12:00:00' AS TIME(7)) /*** SSC-FDM-TS0005 - TRY_CONVERT/TRY_CAST COULD NOT BE CONVERTED TO TRY_CAST ***/ TIME_RESULT,
 CAST('2017-01-01 12:00:00' AS TIMESTAMP) /*** SSC-FDM-TS0005 - TRY_CONVERT/TRY_CAST COULD NOT BE CONVERTED TO TRY_CAST ***/ TIMESTAMP_RESULT,
 CAST('2017-01-01 12:00:00' AS TIMESTAMP_TZ(7)) /*** SSC-FDM-TS0005 - TRY_CONVERT/TRY_CAST COULD NOT BE CONVERTED TO TRY_CAST ***/ DATETIMEOFFSET_RESULT,
 TO_VARCHAR(1234) VARCHAR_RESULT,
 TO_CHAR(1) CHAR_RESULT,
 TO_VARIANT('2017-01-01 12:00:00') SQL_VARIANT_RESULT,
 TO_GEOGRAPHY('LINESTRING(-122.360 47.656, -122.343 47.656 )') GEOGRAPHY_RESULT;
Copy

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

  1. [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

AT TIME ZONE

Applies to
  • [x] SQL Server

  • [x] 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

inputdate AT TIME ZONE timezone

Copy

Snowflake SQL-Dokumentation

CONVERT_TIMEZONE( <source_tz> , <target_tz> , <source_timestamp_ntz> )

CONVERT_TIMEZONE( <target_tz> , <source_timestamp> )

Copy

Beispiele

 SELECT CAST('2022-11-24 11:00:45.2000000 +00:00' as datetimeoffset) at time zone 'Alaskan Standard Time';
Copy

Ergebnis:

                          DATE|
------------------------------+
2022-11-24 02:00:45.200 -09:00|

Copy
 SELECT
CONVERT_TIMEZONE('America/Anchorage', CAST('2022-11-24 11:00:45.2000000 +00:00' as TIMESTAMP_TZ(7)));
Copy

Ergebnis:

                          DATE|
------------------------------+
2022-11-24 02:00:45.200 -09:00|

Copy

Code:

 SELECT current_timestamp at time zone 'Central America Standard Time';
Copy

Ergebnis:

                          DATE|
------------------------------+
2022-10-10 10:55:50.090 -06:00|

Copy

Code:

 SELECT
CONVERT_TIMEZONE('America/Costa_Rica', CURRENT_TIMESTAMP() /*** SSC-FDM-TS0024 - CURRENT_TIMESTAMP in At Time Zone statement may have a different behavior in certain cases ***/);
Copy

Ergebnis:

                          DATE|
------------------------------+
2022-10-10 10:55:50.090 -06:00|

Copy

Bekannte Probleme

  1. Snowflake unterstützt nicht alle Zeitzonen, die SQL Server unterstützt. Sie können die unterstützten Zeitzonen unter diesem Link überprüfen.

 SELECT current_timestamp at time zone 'Turks And Caicos Standard Time';
Copy

Ergebnis:

                          DATE|
------------------------------+
2022-12-14 20:04:18.317 -05:00| 

Copy
 SELECT
!!!RESOLVE EWI!!! /*** SSC-EWI-TS0063 - TIME ZONE NOT SUPPORTED IN SNOWFLAKE ***/!!!
CURRENT_TIMESTAMP() at time zone 'Turks And Caicos Standard Time';
Copy

Zugehörige EWIs

  1. [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.

  2. [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
  • [x] SQL Server

  • [x] 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

DATEADD (datepart , number , date )  

Copy

Snowflake SQL-Dokumentation

DATEADD( <date_or_time_part>, <value>, <date_or_time_expr> )

Copy

Beispiele

Code:

 SELECT DATEADD(year,123, '20060731') as ADDDATE;  
Copy

Ergebnis:

                 ADDDATE|
------------------------+
 2129-07-31 00:00:00.000|

Copy

Code:

 SELECT
DATEADD(year, 123, '20060731') as ADDDATE;
Copy

Ergebnis:

                 ADDDATE|
------------------------+
 2129-07-31 00:00:00.000|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

DATEDIFF

Applies to
  • [x] SQL Server

  • [x] 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

DATEDIFF ( datepart , startdate , enddate )  

Copy

Snowflake SQL-Dokumentation

DATEDIFF( <date_or_time_part>, <date_or_time_expr1>, <date_or_time_expr2> )

Copy

Beispiele

Code:

 SELECT DATEDIFF(year,'2005-12-31 23:59:59.9999999', '2006-01-01 00:00:00.0000000');
Copy

Ergebnis:

DIFF|
----+
   1|

Copy

Code:

 SELECT DATEDIFF(year,'2005-12-31 23:59:59.9999999', '2006-01-01 00:00:00.0000000');
Copy

Ergebnis:

DIFF|
----+
   1|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

DATEFROMPARTS

Applies to
  • [x] SQL Server

  • [x] 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

DATEFROMPARTS ( year, month, day )  

Copy

Snowflake SQL-Dokumentation

DATE_FROM_PARTS( <year>, <month>, <day> )

Copy

Beispiele

Code:

 SELECT DATEFROMPARTS ( 2010, 12, 31 ) AS RESULT;  
Copy

Ergebnis:

    RESULT|
----------+
2022-12-12|

Copy

Code:

 SELECT DATE_FROM_PARTS ( 2010, 12, 31 ) AS RESULT;
Copy

Ergebnis:

    RESULT|
----------+
2022-12-12|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

DATENAME

Applies to
  • [x] SQL Server

  • [x] 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

DATENAME ( datepart , date )  

Copy

Bemerkung

Diese Transformation verwendet mehrere Funktionen, die von den Eingaben abhängen

DATE_PART( <date_or_time_part> , <date_or_time_expr> )
MONTHNAME( <date_or_timestamp_expr> )
DAYNAME( <date_or_timestamp_expr> )

Copy

Beispiele

Code:

 SELECT DATENAME(month, getdate()) AS DATE1,
DATENAME(day, getdate()) AS DATE2,
DATENAME(dw, GETDATE()) AS DATE3;
Copy

Ergebnis:

DATE1|DATE2|DATE3  |
-----+-----+-------+
May  |3    |Tuesday|

Copy

Code:

 SELECT MONTHNAME(CURRENT_TIMESTAMP() :: TIMESTAMP) AS DATE1,
DAYNAME(CURRENT_TIMESTAMP() :: TIMESTAMP) AS DATE2,
DAYNAME(CURRENT_TIMESTAMP() :: TIMESTAMP) AS DATE3;
Copy

Ergebnis:

DATE1|DATE2|DATE3 |
-----+-----+------+
May  |Tue  |Tue   |

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

DATEPART

Applies to
  • [x] SQL Server

  • [x] 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

DATEPART ( datepart , date )  

Copy

Snowflake SQL-Dokumentation

DATE_PART( <date_or_time_part> , <date_or_time_expr> )

Copy

Beispiele

Code:

 SELECT DATEPART(YEAR, '10-10-2022') as YEAR
Copy

Ergebnis:

YEAR |
-----+
 2022|

Copy

Code:

 SELECT
DATE_PART(YEAR, '10-10-2022' :: TIMESTAMP) as YEAR;
Copy

Ergebnis:

YEAR |
-----+
 2022| 

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

DAY

Applies to
  • [x] SQL Server

  • [x] 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

DAY ( date )  

Copy

Snowflake SQL-Dokumentation

DAY( <date_or_timestamp_expr> )

Copy

Beispiele

Code:

 SELECT DAY('10-10-2022') AS DAY
Copy

Ergebnis:

DAY  |
-----+
   10|

Copy

Code:

 SELECT DAY('10-10-2022' :: TIMESTAMP) AS DAY;
Copy

Ergebnis:

DAY  |
-----+
   10|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

EOMONTH

Applies to
  • [x] SQL Server

  • [x] 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

EOMONTH ( start_date [, month_to_add ] )  

Copy

Snowflake SQL-Dokumentation

LAST_DAY( <date_or_time_expr> [ , <date_part> ] )

Copy

Beispiele

Code:

 SELECT EOMONTH (GETDATE()) AS Result; 
Copy

Ergebnis:

    RESULT|
----------+
2022-05-31|

Copy

Code:

 SELECT
LAST_DAY(DATEADD('month', 0, CURRENT_TIMESTAMP() :: TIMESTAMP)) AS Result;
Copy

Ergebnis:

    RESULT|
----------+
2022-05-31|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

GETDATE

Applies to
  • [x] SQL Server

  • [x] 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

GETDATE() 

Copy

Snowflake SQL-Dokumentation

CURRENT_TIMESTAMP( [ <fract_sec_precision> ] )

Copy

Beispiele

Code:

 SELECT GETDATE() AS DATE;
Copy

Ergebnis:

DATE                   |
-----------------------+
2022-05-06 09:54:42.757|

Copy

Code:

 SELECT CURRENT_TIMESTAMP() :: TIMESTAMP AS DATE;
Copy

Ergebnis:

DATE                   |
-----------------------+
2022-05-06 08:55:05.422|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

MONTH

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Gibt eine Ganzzahl zurück, die den Monat des angegebenen Datums darstellt. (MONTH in Transact-SQL).

Beispielhaftes Quellcode-Muster

Syntax

MONTH( date )  

Copy

Snowflake SQL-Dokumentation

MONTH ( <date_or_timestamp_expr> )

Copy

Beispiele

Code:

 SELECT MONTH('10-10-2022') AS MONTH
Copy

Ergebnis:

MONTH|
-----+
   10|

Copy

Code:

 SELECT MONTH('10-10-2022' :: TIMESTAMP) AS MONTH;
Copy

Ergebnis:

MONTH|
-----+
   10|

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

SWITCHOFFSET

Applies to
  • [x] SQL Server

  • [x] 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.

 SWITCHOFFSET ( datetimeoffset_expression, timezoneoffset_expression )   
Copy
 SWITCHOFFSET_UDF ( timestamp_tz_expression, timezoneoffset_expression )   
Copy

Beispiel

Code:

SELECT 
  '1998-09-20 7:45:50.71345 +02:00' as fr_time,
  SWITCHOFFSET('1998-09-20 7:45:50.71345 +02:00', '-06:00') as cr_time;  
Copy

Ergebnis:

fr_time                         cr_time
------------------------------- ----------------------------------
1998-09-20 7:45:50.71345 +02:00 1998-09-19 23:45:50.7134500 -06:00

Copy

Code:

 SELECT
  '1998-09-20 7:45:50.71345 +02:00' as fr_time,
  PUBLIC.SWITCHOFFSET_UDF('1998-09-20 7:45:50.71345 +02:00', '-06:00') as cr_time;
Copy

Ergebnis:

fr_time                         cr_time
------------------------------- ----------------------------------
1998-09-20 7:45:50.71345 +02:00 1998-09-19 23:45:50.7134500 -06:00

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

SYSDATETIME

Applies to
  • [x] SQL Server

  • [x] 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

SYSDATETIME ( )  

Copy

Snowflake SQL-Dokumentation

LOCALTIME()

Copy

Beispiele

Code:

 SELECT SYSDATETIME ( ) AS SYSTEM_DATETIME;
Copy

Ergebnis:

SYSTEM_DATETIME        |
-----------------------+
2022-05-06 12:08:05.501|

Copy

Code:

 SELECT LOCALTIME ( ) AS SYSTEM_DATETIME;
Copy

Ergebnis:

SYSTEM_DATETIME        |
-----------------------+
211:09:14              |

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

SYSUTCDATETIME

Applies to
  • [x] SQL Server

  • [x] 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

SYSUTCDATETIME ( )  

Copy

Snowflake SQL-Dokumentation

SYSDATE()

Copy

Beispiele

Code:

 SELECT SYSUTCDATETIME() as SYS_UTC_DATETIME;
Copy

Ergebnis:

SYSTEM_UTC_DATETIME        |
---------------------------+
2023-02-02 20:59:28.0926502|

Copy

Code:

 SELECT
SYSDATE() as SYS_UTC_DATETIME;
Copy

Ergebnis:

SYSTEM_UTC_DATETIME      |
-------------------------+
2023-02-02 21:02:05.557  |

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.

YEAR

Applies to
  • [x] SQL Server

  • [x] Azure Synapse Analytics

Beschreibung

Gibt eine Ganzzahl zurück, die das Jahr des angegebenen Datums darstellt. (YEAR in Transact-SQL).

Beispielhaftes Quellcode-Muster

Syntax

YEAR( date )  

Copy

Snowflake SQL-Dokumentation

YEAR ( <date_or_timestamp_expr> )

Copy

Beispiele

Code:

 SELECT YEAR('10-10-2022') AS YEAR
Copy

Ergebnis:

YEAR |
-----+
2022 |

Copy

Code:

 SELECT YEAR('10-10-2022' :: TIMESTAMP) AS YEAR;
Copy

Ergebnis:

YEAR |
-----+
2022 |

Copy

Bekannte Probleme

Es wurden keine Probleme gefunden.

Zugehörige EWIs

Keine zugehörigen EWIs.