plugins/tsql-master/skills/tsql-functions/SKILL.md
Complete T-SQL function reference for SQL Server and Azure SQL Database. PROACTIVELY activate for: (1) string functions (CONCAT_WS, STRING_SPLIT, STRING_AGG, TRIM, REPLACE, LEFT/RIGHT/SUBSTRING), (2) date/time functions (DATEADD, DATEDIFF, FORMAT, DATETRUNC, AT TIME ZONE), (3) math and conversion functions (CAST, CONVERT, TRY_CAST, ROUND, FLOOR, CEILING), (4) window/ranking functions (ROW_NUMBER, RANK, LEAD/LAG, FIRST_VALUE, LAST_VALUE, NTILE), (5) JSON functions (JSON_VALUE, JSON_QUERY, JSON_MODIFY, OPENJSON), (6) XML functions (FOR XML, .nodes, .value), (7) aggregate functions and GROUP BY extensions, (8) system and metadata functions (sys.* views, OBJECT_ID, OBJECT_NAME). Provides: function catalog grouped by category, version-availability matrix (SQL 2016+/2019+/2022+), and worked examples for each function family.
npx skillsauth add JosiahSiegel/claude-plugin-marketplace tsql-functionsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Complete reference for all T-SQL function categories with version-specific availability.
| 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+ |
| 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+ |
| 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+ |
| 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 |
-- 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
-- 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
)
-- 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
-- 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
For deeper coverage of specific function categories, see:
references/string-functions.md - Complete string function reference with examplesreferences/window-functions.md - Window and ranking functions with frame specificationsdevelopment
This skill should be used when the user asks to train, debug, scale, or improve ML models. PROACTIVELY activate for: (1) PyTorch, TensorFlow/Keras, JAX, Flax, Hugging Face Trainer/Accelerate training loops, (2) distributed training, DDP/FSDP/DeepSpeed, TPU/GPU setup, (3) mixed precision AMP/bf16, gradient accumulation, checkpointing, seeding, (4) overfitting, imbalance, loss functions, regularization, LR schedules, warmup, (5) memory optimization, gradient checkpointing, offloading, quantization-aware training. Provides: reproducible training best practices across deep learning and classical ML.
development
This skill should be used when the user asks to productionize, track, version, govern, monitor, or automate ML systems. PROACTIVELY activate for: (1) MLflow, Weights & Biases, Neptune, Comet, ClearML experiment tracking, (2) model registry, model versioning, artifact lineage, reproducibility, (3) Kubeflow, SageMaker Pipelines, Vertex AI Pipelines, Azure ML pipelines, Databricks workflows, (4) CI/CD, continuous training/evaluation, A/B tests, canary/shadow deployments, (5) drift detection, model monitoring, data validation, responsible AI governance. Provides: end-to-end MLOps architecture and operational safeguards.
development
This skill should be used when the user asks to optimize, export, serve, compress, or accelerate ML inference. PROACTIVELY activate for: (1) latency, throughput, p95/p99, batching, concurrency, KV cache, memory, or cost issues, (2) quantization INT8/INT4, GPTQ, AWQ, bitsandbytes, pruning, sparsity, distillation, (3) ONNX export, ONNX Runtime, TensorRT, TorchScript, torch.compile, XLA, OpenVINO, Core ML, TFLite, (4) Triton, TorchServe, TF Serving, BentoML, Seldon, KServe configuration, (5) edge deployment, CPU/GPU/TPU/Inferentia serving. Provides: hardware-aware inference optimization and safe benchmarking.
testing
This skill should be used when the user asks to tune hyperparameters, run sweeps, optimize search spaces, or use AutoML. PROACTIVELY activate for: (1) Optuna, Ray Tune, FLAML, AutoGluon, Hyperopt, Nevergrad, KerasTuner, W&B sweeps, (2) grid search, random search, Bayesian optimization, TPE, Gaussian processes, evolutionary search, (3) ASHA, Hyperband, successive halving, multi-fidelity optimization, population-based training, (4) learning-rate finder, batch-size search, early stopping, pruning, (5) reproducible sweep design and experiment analysis. Provides: budget-aware hyperparameter search strategy.