Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Rediscovered with
SQL Server 2012
GO BIG!
Jacob Sebastian, SQL Server MVP
jacob@beyondrelational.com
Agenda
SELECT CAST (
CONCAT
(
YEAR(GETDATE()),'-',MONTH(GETDATE()),'-','01'
) AS DATE
)
CONCAT() Function
SELECT
FirstName + ' ' +
MiddleName + ' ' +
LastName AS CustomerName
FROM Customers
SELECT
ISNULL(FirstName,'') + ' ' +
ISNULL(MiddleName,'') + ' ' +
ISNULL(LastName,'') AS CustomerName
FROM Customers
SELECT
CONCAT(FirstName, ' ', MiddleName, ' ', LastName)
AS CustomerName
FROM Customers
SELECT CAST (
CONCAT
(
YEAR(GETDATE()),'-',MONTH(GETDATE()),'-','01'
) AS DATE SQL
Server
)
2012
SELECT
DATEFROMPARTS(YEAR(GETDATE()),MONTH(GETDATE()),1)
IIF() Function
SELECT
CustName,
CASE IsActive
WHEN 1 THEN 'Yes'
ELSE 'No'
END AS IsActive
FROM Customers
SELECT
CustName,
IIF(IsActive = 1, 'Yes', 'No') AS IsActive
FROM Customers
SELECT EOMONTH(GETDATE())
CONVERT(VARCHAR,
CONVERT(VARCHAR,
CONVERT(VARCHAR,
CONVERT(VARCHAR,
GETDATE(),
GETDATE(),
GETDATE(),
GETDATE(),
101)
102)
103)
104)
-----
03/13/2012
2012.03.13
13/03/2012
13.03.2012
CONVERT(VARCHAR,
CONVERT(VARCHAR,
CONVERT(VARCHAR,
CONVERT(VARCHAR,
CONVERT(VARCHAR,
GETDATE(),
GETDATE(),
GETDATE(),
GETDATE(),
GETDATE(),
101)
102)
103)
104)
105)
------
03/13/2012
2012.03.13
13/03/2012
13.03.2012
13-03-2012
CONVERT(VARCHAR,
CONVERT(VARCHAR,
CONVERT(VARCHAR,
CONVERT(VARCHAR,
CONVERT(VARCHAR,
CONVERT(VARCHAR,
GETDATE(),
GETDATE(),
GETDATE(),
GETDATE(),
GETDATE(),
GETDATE(),
101)
102)
103)
104)
105)
106)
-------
03/13/2012
2012.03.13
13/03/2012
13.03.2012
13-03-2012
13 Mar 2012
CONVERT(VARCHAR,
CONVERT(VARCHAR,
CONVERT(VARCHAR,
CONVERT(VARCHAR,
CONVERT(VARCHAR,
CONVERT(VARCHAR,
CONVERT(VARCHAR,
GETDATE(),
GETDATE(),
GETDATE(),
GETDATE(),
GETDATE(),
GETDATE(),
GETDATE(),
101)
102)
103)
104)
105)
106)
107)
--------
03/13/2012
2012.03.13
13/03/2012
13.03.2012
13-03-2012
13 Mar 2012
Mar 13, 2012
CONVERT(VARCHAR,
CONVERT(VARCHAR,
CONVERT(VARCHAR,
CONVERT(VARCHAR,
CONVERT(VARCHAR,
CONVERT(VARCHAR,
CONVERT(VARCHAR,
CONVERT(VARCHAR,
GETDATE(),
GETDATE(),
GETDATE(),
GETDATE(),
GETDATE(),
GETDATE(),
GETDATE(),
GETDATE(),
101)
102)
103)
104)
105)
106)
107)
108)
---------
03/13/2012
2012.03.13
13/03/2012
13.03.2012
13-03-2012
13 Mar 2012
Mar 13, 2012
20:33:13
CONVERT(VARCHAR,
CONVERT(VARCHAR,
CONVERT(VARCHAR,
CONVERT(VARCHAR,
CONVERT(VARCHAR,
CONVERT(VARCHAR,
CONVERT(VARCHAR,
CONVERT(VARCHAR,
GETDATE(),
GETDATE(),
GETDATE(),
GETDATE(),
GETDATE(),
GETDATE(),
GETDATE(),
GETDATE(),
101)
102)
103)
104)
105)
106)
107)
108)
---------
03/13/2012
2012.03.13
13/03/2012
13.03.2012
13-03-2012
13 Mar 2012
Mar 13, 2012
20:33:13
PRINT
SQL
REPLACE(CONVERT(VARCHAR,
GETDATE(), 102), '.', '-')
Server
+ ' ' + 2012
LEFT(CONVERT(VARCHAR, GETDATE(), 108), 5)
PRINT FORMAT(GETDATE(), 'yyyy-MM-dd hh:mm')
FORMAT() Function
PRINT FORMAT(
GETDATE(),
'"-- Demonstrated On" yyyy-MM-dd "at" hh:mm')
-- Demonstrated on 2012-03-13 at 09:03
Error Handling
Pagination
PARSE()
DECLARE @dt DATE = '03/05/2012'
SELECT @dt
-- March 5, 2012
-- May 3, 2012
-- March 5, 2012
DECLARE @dt DATE = PARSE('03/05/2012' AS DATE USING 'en-US')
-- May 3, 2012
TRY_PARSE()
DECLARE @str CHAR(10) = '15/03/2012' - Loaded from a file
DECLARE @dt DATE = PARSE(@str AS DATE USING 'en-US')
-- NULL
SELECT TRY_PARSE(@str AS DATE USING 'en-GB')
TRY_CONVERT()
DECLARE @x VARCHAR(100) = '<Students name="jacob"></students>'
SELECT CAST(@x as xml).value('(/Students/@name)[1]', 'VARCHAR(100)')
Time
Type
2011-01-01 10:00:00
IN
2011-01-01 18:00:00
OUT
2011-01-02 10:00:00
IN
2011-01-01 10:05:00
IN
2011-01-01 19:00:00
OUT
2011-01-01 11:00:00
IN
2011-01-01 17:00:00
OUT
Time
Type
2011-01-01 10:00:00
IN
2011-01-01 18:00:00
OUT
2011-01-02 10:00:00
IN
2011-01-01 10:05:00
IN
2011-01-01 19:00:00
OUT
2011-01-01 11:00:00
IN
2011-01-01 17:00:00
OUT
ID
Time
Type
2011-01-01 10:00:00
IN
2011-01-01 18:00:00
OUT
2011-01-02 10:00:00
IN
2011-01-01 10:05:00
IN
2011-01-01 19:00:00
OUT
2011-01-01 11:00:00
IN
2011-01-01 17:00:00
OUT
ID
Time
Type
Row
ID
Time
Type
2011-01-01 10:00:00 IN
2011-01-01 10:00:00 IN
2011-01-02 10:00:00 IN
2011-01-02 10:00:00 IN
2011-01-01 10:05:00 IN
2011-01-01 10:05:00 IN
2011-01-01 11:00:00 IN
2011-01-01 11:00:00 IN
Questions
Thank You
Resources
Developers
http://msdn.microsoft.com/
msdnindia
@msdnindia
Infrastructure Professionals
http://technet.micorsoft.com/
technetindia
@technetindia
2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or
may be registered trademarks and/or trademarks in the US and/or other countries. The information herein is for informational purposes
only and represents the current view of Microsoft Corporation as of the date of this presentation.
Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of
Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS
PRESENTATION.