14 T-SQL Functions You May Not Know

Slides:



Advertisements
Similar presentations
Moving from Access Databases to a Visual Studio/SQL Server Solutions Andrew Couch UK Access User Group asc associates
Advertisements

By Sam Nasr Nasr Information Systems May 14, 2013.
Copyright ©2014 Pearson Education, Inc. Chapter 6 Physical Design Chapter6.1.
Database Fundamentals
Working with Data Types February 7, 2015 John Deardurff Website:
Module 2 Working with Data Types. Module Overview Using Data Types Working with Character Data Converting Data Types Working with Specialized Data Types.
Said Salomon Unitrin Direct Insurance T-SQL Date and Time Functions Said Salomon.
BARBARIN DAVID SQL Server Senior Consultant Pragmantic SQL Server Denali : New development features.
Chapter 7 SQL HUANG XUEHUA. SQL SQL server2005 introduction Install components  management studio.
Using New Data Types in 2008 Andrew Couch UK Access User Group ASC associates
SQL Data Definition Language (DDL) Using Microsoft SQL Server 1SDL Data Definition Language (DDL)
11 3 / 12 CHAPTER Databases MIS105 Lec15 Irfan Ahmed Ilyas.
What’s New In Denali - TSQL David Ballantyne. Who am I Kent.Net/SqlServer.
Data Types Lesson 4. Skills Matrix Table A table stores your data. Tables are relational in that they are organized as rows and columns (a matrix). Each.
EXPRESSION Transformation. Introduction ►Transformations help to transform the source data according to the requirements of target system and it ensures.
SQL Server 2005 Implementation and Maintenance Chapter 3: Tables and Views.
SQL for SQL Server, C13© 2002, Mike Murach & Associates, Inc. Slide 1.
03 | SQL Server Data Types Brian Alderman | MCT, CEO / Founder of MicroTechPoint Tobias Ternstrom | Microsoft SQL Server Program Manager.
Data types  CHAR (size): This data type is used to store character strings values of fixed length. The size in brackets determines the number of characters.
IMS 4212: Data Modeling—Attributes and Domains 1 Dr. Lawrence West, Management Dept., University of Central Florida Attributes and Domains.
1 CS 430 Database Theory Winter 2005 Lecture 11: SQL DDL.
Academic Year 2015 Autumn. MODULE CC2006NI: Data Modelling and Database Systems Academic Year 2015 Autumn.
Variables and Expressions Programming Right from the Start with Visual Basic.NET 1/e 7.
14 New T-SQL Functions By Sam Nasr, MCAD, MCT, MCTS NIS August 18, 2012.
14 New T-SQL Functions By Sam Nasr, MCAD, MCTS. MVP Nasr Information Systems February 8, 2014.
What is your Character Data Type? March 5, 2016 John Deardurff Website:
14 New T-SQL Functions By Sam Nasr, MCAD, MCT, MCTS NIS
Querying with Transact-SQL
Creating Database Objects
FileTables Sam Nasr, MCAD, MCTS, MVP NIS Technologies
Temporal Tables Sam Nasr, MCSA, MVP NIS Technologies July 22, 2017
Managing Tables, Data Integrity, Constraints by Adrienne Watt
Database Management System
Module 2: Creating Data Types and Tables
Lecture 6 Data Model Design (continued)
Building Applications with LUIS
FileTables By Sam Nasr, MCAD, MCT, MCTS NIS October 6, 2012
ITEC113 Algorithms and Programming Techniques
Expressions An expression is a portion of a C++ statement that performs an evaluation of some kind Generally requires that a computation or data manipulation.
Attributes and Domains
Using FileTables Sam Nasr, MCSA, MCT, MVP NIS Technologies
Ouch! Our Data Type Choices Did THAT?
Using FileTables Sam Nasr, MCAD, MCTS, MVP NIS Technologies
SQL Server 2016 JSON Support FOR Data Warehousing
SQL Implementation & Administration
Working with SQL Server 2016 Data Types
Microsoft SQL Server Managing Database Applications
SQL Server 2016 Security Features
Migrating a Disk-based Table to a Memory-optimized one in SQL Server
Proper DataType Usage = Guaranteed Better Performance and Accuracy
What is your Character Data Type?
Working with Data Types
Database systems Lecture 2 – Data Types
A JSON’s Journey through SQL Server
CIS16 Application Programming with Visual Basic
PT2520 Unit 5: Physical Design
Data Types Do Matter Start local instance of SQL Start ZoomIt
14 T-SQL Functions You May Not Know
Integrating REST API and SQL Server JSON Functions
Attributes and Domains
Expressions An expression is a portion of a C++ statement that performs an evaluation of some kind Generally requires that a computation or data manipulation.
Data Time Travel with Temporal Tables
Creating Database Objects
Using FileTables Sam Nasr, MCSA NIS Technologies August 3, 2019.
Data Time Travel with Temporal Tables
Introduction to SQL Server and the Structure Query Language
Working with SQL Server 2016 Data Types
Data Time Travel with Temporal Tables
Presentation transcript:

14 T-SQL Functions You May Not Know Sam Nasr, MCSA, MVP NIS Technologies September 29, 2018

About Me Software Developer since 1995 Sam Nasr (@SamNasr) Software Developer since 1995 Sr. Software Engineer (NIS Technologies) Certifications: MCSA, MCAD, MCT, MCTS President - Cleveland C#/VB.Net User Group President - .Net Study Group Author for Visual Studio Magazine Microsoft Most Valuable Professional (since 2013)

General Info Down the hall (right side) Participation is encouraged Please mute cell phones

Cleveland C#/VB.Net User Group Meets every month Free of charge , open to the public All topics related to .Net Meeting info: https://www.meetup.com/Cleveland-C-VB-Net-User-Group/

14 New T-SQL Functions Conversion functions PARSE TRY_CONVERT TRY_PARSE Date and time functions DATEFROMPARTS DATETIME2FROMPARTS DATETIMEFROMPARTS DATETIMEOFFSETFROMPARTS EOMONTH SMALLDATETIMEFROMPARTS TIMEFROMPARTS Logical functions CHOOSE IIF String functions CONCAT FORMAT

14 New T-SQL Functions Conversion functions PARSE TRY_CONVERT TRY_PARSE Date and time functions DATEFROMPARTS DATETIME2FROMPARTS DATETIMEFROMPARTS DATETIMEOFFSETFROMPARTS EOMONTH SMALLDATETIMEFROMPARTS TIMEFROMPARTS Logical functions CHOOSE IIF String functions CONCAT FORMAT

Parse PARSE ( string_value AS data_type [ USING culture ] ) Transforms a string expression to date/time or number type. Optional clause [Using Culture] Requires .Net CLR (cannot be remoted) Use only for converting strings to datetime and numbers For general type conversions, continue to use CAST or CONVERT Transform Patterns are limited by styles in .Net CLR Transform Patterns are limited by styles in .Net CLR in System.Globalization.NumberStyles and DateTimeStyles enumerations. NumberStyles.Currency DateTimeStyles.AllowWhiteSpaces DateTimeStyles.AssumeUniversal

TRY_CONVERT Converts an expression to a specified type TRY_CONVERT ( data_type [ ( length ) ], expression [, style ] ) Converts an expression to a specified type Returns null if not successful. Returns error when cast is explicitly not permitted Style: integer expression specifies format of result If style=NULL, NULL is returned. When expression is float or real, style can be one of the values shown in the following table. Other values are processed as 0. 0 (default): A maximum of 6 digits. Use in scientific notation, when appropriate. 1: Always 8 digits. Always use in scientific notation. 2: Always 16 digits. Always use in scientific notation. 126, 128, 129: Included for legacy reasons and might be deprecated in a future release. SELECT CONVERT(binary(4), '4E616D65', 2) AS [Style 2, character to binary];

TRY_PARSE TRY_PARSE ( string_value AS data_type [ USING culture ] ) Similar to PARSE Function Returns null if value is not a valid representation of data_type PARSE Function raises an error.

Demo Conversion Functions

14 New T-SQL Functions Conversion functions PARSE TRY_CONVERT TRY_PARSE Date and time functions DATEFROMPARTS DATETIME2FROMPARTS DATETIMEFROMPARTS DATETIMEOFFSETFROMPARTS EOMONTH SMALLDATETIMEFROMPARTS TIMEFROMPARTS Logical functions CHOOSE IIF String functions CONCAT FORMAT

DATEFROMPARTS DATEFROMPARTS ( year, month, day ) Returns a date value for separate integer values of year, month, and day. It cannot be executed remotely on an earlier version of SQL Server. All values must be valid date values

DATETIMEFROMPARTS DATETIMEFROMPARTS ( year, month, day, hour, minute, seconds, milliseconds ) DATETIMEFROMPARTS returns a fully initialized datetime value. If the arguments are not valid, then an error is raised. If required arguments are null, then a null is returned. Cannot be executed remotely on an earlier version of SQL Server.

DATETIME2FROMPARTS DATETIME2FROMPARTS ( year, month, day, hour, minute, seconds, fractions, precision ) Returns a datetime2 value for separate integer values of year, month, day, hour, minutes, seconds, fractions, precision All values must be valid date/time values “Precision” must accommodate “fractions” value Max precision is 7

DATETIMEOFFSETFROMPARTS DATETIMEOFFSETFROMPARTS ( year, month, day, hour, minute, seconds, fractions, hour_offset, minute_offset, precision ) Returns a datetimeoffset value for separate integer values of year, month, day, hour, minutes, seconds, fractions, precision, and time offset. Offset arguments represent the time zone offset. If required arguments are null, a null is returned. If “Precision” is null, an error is raised.

EOMONTH EOMONTH ( start_date [, month_to_add ] ) Returns End-Of-Month date for the month of specified date. Optional month_to_add integer expression for number of months to add to start_date. month_to_add is added to start_date and returns the last day of the month for the resulting date. If this addition overflows the valid range of dates, then an error is raised.

SMALLDATETIMEFROMPARTS SMALLDATETIMEFROMPARTS ( year, month, day, hour, minute ) Similar to DATETIMEFROMPARTS Returns a smalldatetime value. If the arguments are not valid, then an error is thrown. If required arguments are null, then null is returned. Cannot be executed remotely on an earlier version of SQL Server.

TIMEFROMPARTS TIMEFROMPARTS ( hour, minute, seconds, fractions, precision ) Returns a fully initialized time value. If the arguments are invalid, then an error is raised. If any of the parameters are null, null is returned. If the precision argument is null, then an error is raised.

Demo Date and Time Functions

14 New T-SQL Functions Conversion functions PARSE TRY_CONVERT TRY_PARSE Date and time functions DATEFROMPARTS DATETIME2FROMPARTS DATETIMEFROMPARTS DATETIMEOFFSETFROMPARTS EOMONTH SMALLDATETIMEFROMPARTS TIMEFROMPARTS Logical functions CHOOSE IIF String functions CONCAT FORMAT

CHOOSE CHOOSE ( index, val_1, val_2 [, val_n ] ) Returns the item at the specified index from a list of values. Note: Index is 1-based Returns the data type with the highest precedence from the set of types passed to the function Note: T-SQL has 30 types UDT (Highest) …. Binary (Lowest) When an operator combines two expressions of different data types, the rules for data type precedence specify that the data type with the lower precedence is converted to the data type with the higher precedence. If the conversion is not a supported implicit conversion, an error is returned. When both operand expressions have the same data type, the result of the operation has that data type. SQL Server uses the following precedence order for data types: user-defined data types (highest) sql_variant xml datetimeoffset datetime2 datetime smalldatetime date time float real decimal money smallmoney bigint int smallint tinyint bit ntext text image timestamp uniqueidentifier nvarchar (including nvarchar(max) ) nchar varchar (including varchar(max) ) char varbinary (including varbinary(max) ) binary (lowest)

IIF IIF ( boolean_expression, true_value, false_value ) Returns the respective value, depending on evaluation of Boolean expression. Returns the data type with the highest precedence from the types in true_value and false_value. IIF is translated into a CASE statement. IIF & CASE statements can be nested only up to 10 max IIF is remoted as a semantically equivalent CASE statement. IIF=Immediate IF

Demo Logical Functions

14 New T-SQL Functions Conversion functions PARSE TRY_CONVERT TRY_PARSE Date and time functions DATEFROMPARTS DATETIME2FROMPARTS DATETIMEFROMPARTS DATETIMEOFFSETFROMPARTS EOMONTH SMALLDATETIMEFROMPARTS TIMEFROMPARTS Logical functions CHOOSE IIF String functions CONCAT FORMAT

CONCAT CONCAT ( string_value1, string_value2 [, string_valueN ] ) Returns a string that is the result of concatenating two or more string values. Requires 2 – 254 arguments or an error is raised. Arguments are implicitly converted to string types Null values are implicitly converted to an empty string If all the arguments are null, an empty string of type varchar(1) is returned.

FORMAT FORMAT ( value, format [, culture ] ) Returns a value formatted with the specified format Optional culture parameter Format must contain a valid .NET Framework format string Composite formatting is not supported: Format("Name = {0}, Birthday= {1:hh}", @myName, @myBDay); Some methods, such as String.Format and StringBuilder.AppendFormat, support composite formatting. A composite format string is a kind of template that returns a single string that incorporates the string representation of zero, one, or more objects. Each object is represented in the composite format string by an indexed format item. The index of the format item corresponds to the position of the object that it represents in the method's parameter list. Indexes are zero-based. For example, in the following call to the String.Format method, the first format item, {0:D}, is replaced by the string representation of thatDate; the second format item, {1}, is replaced by the string representation of item1; and the third format item, {2:C2}, is replaced by the string representation of item1.Value.

Demo String Functions

Recap

Recap Conversion functions PARSE TRY_CONVERT TRY_PARSE Date and time functions DATEFROMPARTS DATETIME2FROMPARTS DATETIMEFROMPARTS DATETIMEOFFSETFROMPARTS EOMONTH SMALLDATETIMEFROMPARTS TIMEFROMPARTS Logical functions CHOOSE IIF String functions CONCAT FORMAT

Resources http://visualstudiomagazine.com/Articles/2013/01/01/4-New-TSQL-Functions.aspx?Page=1

Contact Info snasr@nistechnologies.com @SamNasr http://www.linkedin.com/in/samsnasr Thank you for attending!