tsql-functions

安装量: 60
排名: #12426

安装

npx skills add https://github.com/josiahsiegel/claude-plugin-marketplace --skill tsql-functions

T-SQL Functions Reference

Complete reference for all T-SQL function categories with version-specific availability.

Quick Reference String Functions Function Description Version CONCAT(str1, str2, ...) NULL-safe concatenation 2012+ CONCAT_WS(sep, str1, ...) Concatenate with separator 2017+ STRING_AGG(expr, sep) Aggregate strings 2017+ STRING_SPLIT(str, sep) Split to rows 2016+ STRING_SPLIT(str, sep, 1) With ordinal column 2022+ TRIM([chars FROM] str) Remove leading/trailing 2017+ TRANSLATE(str, from, to) Character replacement 2017+ FORMAT(value, format) .NET format strings 2012+ Date/Time Functions Function Description Version DATEADD(part, n, date) Add interval All DATEDIFF(part, start, end) Difference (int) All DATEDIFF_BIG(part, s, e) Difference (bigint) 2016+ EOMONTH(date, [offset]) Last day of month 2012+ DATETRUNC(part, date) Truncate to precision 2022+ DATE_BUCKET(part, n, date) Group into buckets 2022+ AT TIME ZONE 'tz' Timezone conversion 2016+ Window Functions Function Description Version ROW_NUMBER() Sequential unique numbers 2005+ RANK() Rank with gaps for ties 2005+ DENSE_RANK() Rank without gaps 2005+ NTILE(n) Distribute into n groups 2005+ LAG(col, n, default) Previous row value 2012+ LEAD(col, n, default) Next row value 2012+ FIRST_VALUE(col) First in window 2012+ LAST_VALUE(col) Last in window 2012+ IGNORE NULLS Skip NULLs in offset funcs 2022+ SQL Server 2022 New Functions Function Description GREATEST(v1, v2, ...) Maximum of values LEAST(v1, v2, ...) Minimum of values DATETRUNC(part, date) Truncate date GENERATE_SERIES(start, stop, [step]) Number sequence JSON_OBJECT('key': val) Create JSON object JSON_ARRAY(v1, v2, ...) Create JSON array JSON_PATH_EXISTS(json, path) Check path exists IS [NOT] DISTINCT FROM NULL-safe comparison Core Patterns String Manipulation -- Concatenate with separator (NULL-safe) SELECT CONCAT_WS(', ', FirstName, MiddleName, LastName) AS FullName

-- Split string to rows with ordinal SELECT value, ordinal FROM STRING_SPLIT('apple,banana,cherry', ',', 1)

-- Aggregate strings with ordering SELECT DeptID, STRING_AGG(EmployeeName, ', ') WITHIN GROUP (ORDER BY HireDate) FROM Employees GROUP BY DeptID

Date Operations -- Truncate to first of month SELECT DATETRUNC(month, OrderDate) AS MonthStart

-- Group by week buckets SELECT DATE_BUCKET(week, 1, OrderDate) AS WeekBucket, COUNT(*) AS OrderCount FROM Orders GROUP BY DATE_BUCKET(week, 1, OrderDate)

-- Generate date series SELECT CAST(value AS date) AS Date FROM GENERATE_SERIES( CAST('2024-01-01' AS date), CAST('2024-12-31' AS date), 1 )

Window Functions -- Running total with partitioning SELECT OrderID, CustomerID, Amount, SUM(Amount) OVER ( PARTITION BY CustomerID ORDER BY OrderDate ROWS UNBOUNDED PRECEDING ) AS RunningTotal FROM Orders

-- Get previous non-NULL value (SQL 2022+) SELECT Date, Value, LAST_VALUE(Value) IGNORE NULLS OVER ( ORDER BY Date ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING ) AS PreviousNonNull FROM Measurements

JSON Operations -- Extract scalar value SELECT JSON_VALUE(JsonColumn, '$.customer.name') AS CustomerName

-- Parse JSON array to rows SELECT j.ProductID, j.Quantity FROM Orders CROSS APPLY OPENJSON(OrderDetails) WITH ( ProductID INT '$.productId', Quantity INT '$.qty' ) AS j

-- Build JSON object (SQL 2022+) SELECT JSON_OBJECT('id': CustomerID, 'name': CustomerName) AS CustomerJson FROM Customers

Additional References

For deeper coverage of specific function categories, see:

references/string-functions.md - Complete string function reference with examples references/window-functions.md - Window and ranking functions with frame specifications

返回排行榜