You may optionally enter a comparison operator (<, <=, >, >=, <> or =) at the beginning of each of your search values to specify how the comparison should be done.
SELECT
[CHECKSUM_1] = CHECKSUM(Column1, Column2)
FROM
TableA
270
T-SQL
Datenbank
UPDATE SQL mit JOIN
UPDATE UPD_TABLE
SET UPD_TABLE.myField1 = 'Update this field'
FROM TableToBeUpdated UPD_TABLE
LEFT JOIN
(
SELECT * FROM JoinedTable
WHERE cond1 = 1
)
J
WHERE J.ID = UPD_TABLE.ID
;
273
T-SQL
Strings
Leerzeichen vor/hinter String entfernen
SELECT LTRIM(RTRIM(' x text x '))
276
T-SQL
Datenbank
Stored Procedure anlegen/löschen
CREATE PROCEDURE increment(@i INT) AS
BEGIN
INSERT INTO accounts (id,name, balance) VALUES (i, 'Test', 1200);
END;
DECLARE @newDT DATETIME
SET @newDT = CAST('2021-01-01 01:23:45' AS DATETIME)
SELECT FORMAT(GETDATE(), 'yyyy-MM-dd', 'En')
SELECT FORMAT(GETDATE(), 'yyyy-MM-dd HH:mm:ss', 'En')
46
T-SQL
Datenbank
DB-Funktion erstellen
-- Scalar-value
CREATE FUNCTION whichContinent
(@country nvarchar(15))
RETURNS varchar(30)
AS
BEGIN
DECLARE @returnValue varchar(30)
SELECT @returnValue = CASE @country
WHEN 'ARGENTINA' THEN 'SOUTH AMERICA'
WHEN 'BELGIUM' THEN 'EUROPE'
WHEN 'BRAZIL' THEN 'SOUTH AMERICA'
WHEN 'CANADA' THEN 'NORTH AMERICA'
WHEN 'DENMARK' THEN 'EUROPE'
WHEN 'FINLAND' THEN 'EUROPE'
WHEN 'FRANCE' THEN 'EUROPE'
ELSE 'UNKNOWN'
END
RETURN @returnValue
END
47
T-SQL
Datenbank
Temporäre DB-Tabelle
-- lokale Temporäre Tabelle (Livetime nur innerhalb von STORED PROCEDURES)
SELECT * INTO #tempdaten FROM myTable
-- ODER globale temporäre Tabellen (Livetime auch außerhalb von STORED PROCEDURES)
SELECT * INTO ##tempdaten FROM myTable
48
T-SQL
Datenbank
Tabelleinhalt DB übergreifend kopieren
INSERT INTO DestinationDB.dbo.Table1 SELECT * FROM SourceDB.dbo.Table1
-- Alternative
-- bereits vorhandene Tabelle in der Ziel-DB löschen
DROP TABLE DB_DESTINATION.dbo.TableCopy
SELECT * INTO DB_DESTINATION.dbo.TableCopy FROM DB_SOURCE.dbo.TableOrginal
49
T-SQL
Datenbank
Die letzte eingefügte ID eines INSERT ermitteln
-- Nach dem INSERT folgenden SELECT durchführen
-- Achtung bei Verwendung mit TRIGGERN, diese Funktion liefert auch eingefügte Werte von TRIGGERN
-- (unabhängig der Tabelle)
SELECT @@Identity AS NewID
-- Möchte man alle IDs (oder erzeugten Werte speichen, kann man nachfolgende Variante wählen):
IF OBJECT_ID(CONCAT('tempdb..','#Test01')) IS NOT NULL DROP TABLE #Test01;
CREATE TABLE #Test01 ( id INT IDENTITY(1,1) PRIMARY KEY, value1 NVARCHAR(50) );
IF OBJECT_ID(CONCAT('tempdb..','##saveOUTPUT')) IS NOT NULL DROP TABLE ##saveOUTPUT;
CREATE TABLE ##saveOUTPUT ( inserted_id INT, some_text NVARCHAR(50) );
INSERT INTO #Test01 (value1)
OUTPUT INSERTED.id, 'Another Text' INTO ##saveOUTPUT
VALUES ('Hello World!')
INSERT INTO #Test01 (value1)
OUTPUT INSERTED.id, 'Another Text' INTO ##saveOUTPUT
VALUES ('Hello World!')
SELECT * FROM ##saveOUTPUT