filmov
tv
5 New T-SQL Enhancements in SQL Server 2022! #SQL #AdvancedSQL #InterviewPrep

Показать описание
Unlock powerful new T-SQL capabilities that simplify code and boost performance in SQL Server 2022!
GREATEST & LEAST Functions
Explanation: These functions return the maximum or minimum across multiple columns, replacing verbose CASE expressions
Example:
SELECT
GREATEST(Price, DiscountedPrice) AS MaxPrice,
LEAST(StockOnHand, StockReserved) AS MinStock
FROM Products;
DATE_BUCKET Function
Explanation: Groups a date or datetime value into evenly spaced “buckets” (e.g., 15-minute intervals) for easier time-series analysis
Example:
SELECT
DATE_BUCKET('1 HOUR', OrderDate) AS OrderHour,
COUNT(*) AS OrdersCount
FROM SalesOrders
GROUP BY DATE_BUCKET('1 HOUR', OrderDate);
GENERATE_SERIES Function
Explanation: Returns a table of sequential values (numeric or datetime), useful for creating calendar tables or filling gaps in data
Example:
SELECT value AS Day
FROM GENERATE_SERIES('2025-01-01', '2025-01-07', INTERVAL '1 DAY');
STRING_SPLIT Enhancements
Explanation: Now returns an optional ordinal column indicating each token’s position, making it easier to preserve original order
Example:
SELECT
TRIM(value) AS Tag,
ordinal
FROM STRING_SPLIT('SQL,Azure,2022', ',', 1);
TRIM Improvements & IS DISTINCT FROM
Explanation:
TRIM: Supports trimming both leading/trailing characters or whitespace without nested calls
IS DISTINCT FROM: Provides null-safe comparisons—treats NULL as a comparable value, so 1 IS DISTINCT FROM NULL returns TRUE
Example:
-- Trim specific characters
SELECT TRIM(BOTH '#' FROM '#Promo#') AS PromoCode;
-- Null-safe comparison
SELECT CASE WHEN Price IS DISTINCT FROM Discount THEN 'Differs' ELSE 'Same or Both NULL' END
FROM Products;
#SQL #AdvancedSQL #SQLServer2022 #TSQL #DateBucket #GenerateSeries #StringSplit #Trim #IsDistinctFrom #InterviewPrep
GREATEST & LEAST Functions
Explanation: These functions return the maximum or minimum across multiple columns, replacing verbose CASE expressions
Example:
SELECT
GREATEST(Price, DiscountedPrice) AS MaxPrice,
LEAST(StockOnHand, StockReserved) AS MinStock
FROM Products;
DATE_BUCKET Function
Explanation: Groups a date or datetime value into evenly spaced “buckets” (e.g., 15-minute intervals) for easier time-series analysis
Example:
SELECT
DATE_BUCKET('1 HOUR', OrderDate) AS OrderHour,
COUNT(*) AS OrdersCount
FROM SalesOrders
GROUP BY DATE_BUCKET('1 HOUR', OrderDate);
GENERATE_SERIES Function
Explanation: Returns a table of sequential values (numeric or datetime), useful for creating calendar tables or filling gaps in data
Example:
SELECT value AS Day
FROM GENERATE_SERIES('2025-01-01', '2025-01-07', INTERVAL '1 DAY');
STRING_SPLIT Enhancements
Explanation: Now returns an optional ordinal column indicating each token’s position, making it easier to preserve original order
Example:
SELECT
TRIM(value) AS Tag,
ordinal
FROM STRING_SPLIT('SQL,Azure,2022', ',', 1);
TRIM Improvements & IS DISTINCT FROM
Explanation:
TRIM: Supports trimming both leading/trailing characters or whitespace without nested calls
IS DISTINCT FROM: Provides null-safe comparisons—treats NULL as a comparable value, so 1 IS DISTINCT FROM NULL returns TRUE
Example:
-- Trim specific characters
SELECT TRIM(BOTH '#' FROM '#Promo#') AS PromoCode;
-- Null-safe comparison
SELECT CASE WHEN Price IS DISTINCT FROM Discount THEN 'Differs' ELSE 'Same or Both NULL' END
FROM Products;
#SQL #AdvancedSQL #SQLServer2022 #TSQL #DateBucket #GenerateSeries #StringSplit #Trim #IsDistinctFrom #InterviewPrep