Professional Documents
Culture Documents
Cheatsheet For TSQL
Cheatsheet For TSQL
d
OUTPUT:
PersonType Title FirstName LastName Suffix EmailPromotion HireDate
EM Ken Sánchez 0
02/08/2003
EM Terri Duffy 1
02/24/2002
EM Gary Altman III 0
12/27/2003
EM Rob Walters 0
12/29/2001
EM Ms. Gail Erickson 0
01/30/2002
EM Mr. Jossef Goldberg 0
02/17/2002
--Determine if object exists:
/*OBJECT_ID ( '[ database_name . [ schema_name ] . | schema_name . ]
object_name' [ ,'object_type' ] )
Object_types:
Object type:
C = CHECK constraint
IT = Internal table
PG = Plan guide
RF = Replication-filter-procedure
SN = Synonym
SO = Sequence object
U = Table (user-defined)
V = View
EC = Edge constraint
SQ = Service queue
TF = SQL table-valued-function
TT = Table type
UQ = UNIQUE constraint
Applies to: SQL Server 2016 (13.x) and later, Azure SQL Database, Azure Synapse Analytics,
Parallel Data Warehouse.
ET = External Table*/
--Window Function
SELECT
FirstName,
YEAR(HireDate) yearno,
ROW_NUMBER() OVER ( PARTITION BY YEAR(HireDate) ORDER BY FirstName) AS rownum
--SUM(subtotal) OVER (PARTITION BY PurchoseOrderID) AS purchaseOrderTotal
FROM dbo.d
Order by yearno
SELECT
FirstName,
YEAR(HireDate) yearno,
ROW_NUMBER() OVER ( ORDER BY YEAR(HireDate)) AS rownum,
Rank() OVER ( ORDER BY YEAR(HireDate)) AS Rankno,
dense_Rank() OVER (ORDER BY YEAR(HireDate)) AS denseRankno,
NTILE(5) OVER ( ORDER BY YEAR(HireDate)) AS rownum
FROM dbo.d
Order by yearno
OUTPUT:
FirstName yearno rownum Rankno denseRankno rownum
Rob 2001 1 1 1 1
Gail 2002 2 2 2 1
Jossef 2002 3 2 2 2
Terri 2002 4 2 2 3
Gary 2003 5 5 3 4
Ken 2003 6 5 3 5
--Casting
OUTPUT:
trunc1 trunc2 round1 round2 round3 round4 round5
10 -10 11 10.65 10.65 10.64 -11
--Case Expressions
Print @printvalue
Output:
dbo.EMP1 table exists
------------------------------------------------------
select Title =
CASE
WHEN Title = '' THEN 'No Title'
ELSE Title
END
from dbo.d
Output:
Title
No Title
No Title
No Title
No Title
Ms.
Mr.
LEN('sql server') -- 10
select CHARINDEX('e','sql server') -- 6
select PATINDEX('%serv%', 'sql server') -- 5
select REPLACE('sql server', 's', 'cookie') -- cookie server
select REPLICATE('sql', 4) -- sqlsqlsqlsql
select STUFF('sql server', 1, 0, 'Microsoft ')-- Microsoft sql server
select STUFF('sql server', 2, 0, 'Microsoft ')--sMicrosoft ql server
select STUFF('sql server', 2, 1, 'Microsoft ')--sMicrosoft l server
select STUFF('sql server', 1, 1, 'Microsoft ')--Microsoft ql server
select STUFF('sql server', 1, 3, 'Microsoft ')---Microsoft server
select STUFF('sql server', 1, 5, 'Microsoft ')---Microsoft erver
sp_helpsort
sp_who2
sp_updatestats
select ServerProperty ('Collation')
--set DATEFIRST 3
select @@DATEFIRST -- Returns the day number (eg: 7 for sunday, 1 for monday,...)
SELECT @@DBTS
SELECT @@LANGID
SELECT @@LANGUAGE
sp_helplanguage
/***SET LOCK_TIMEOUT allows an application to set the maximum time that a statement waits
on a blocked resource. When a statement has waited longer than the LOCK_TIMEOUT setting,
the blocked statement is automatically canceled, and an error message is returned to the
application.
@@LOCK_TIMEOUT returns a value of -1 if SET LOCK_TIMEOUT has not yet been run in the
current session.*/
select @@LOCK_TIMEOUT
sp_configure
Select @@MAX_CONNECTIONS
select @@MAX_PRECISION
select TRY_CAST('xyz' AS BIGINT)
SELECT ISNULL(TRY_CAST('xyz' AS BIGINT), '99');
SELECT PARSE ('25 Mai 2018' AS date USING 'fr-FR');
•@@IDENTITY returns the last identity value generated for any table in the current session, across all
scopes.
•SCOPE_IDENTITY returns the last identity value generated for any table in the current session and the
current scope.
•IDENT_CURRENT returns the last identity value generated for a specific table in any
session and any scope.
IDENTITY (Function)
Is used only in a SELECT statement with an INTO table clause to insert an identity column into a new table.
Although similar, the IDENTITY function is not the IDENTITY property that is used with CREATE TABLE and
ALTER TABLE.
Eg:
SELECT IDENTITY(int, 1,1) AS ID_Num INTO NewTable FROM OldTable;
SQL_VARIANT_PROPERTY:
Returns the base data type and other information about a sql_variant value.
DECLARE @v1 sql_variant;
SET @v1 = 'ABC';
SELECT @v1;
SELECT SQL_VARIANT_PROPERTY(@v1, 'BaseType');
SELECT SQL_VARIANT_PROPERTY(@v1, 'MaxLength');