آموزش SQL Server
آموزش SQL Server ۹: توابع متنی، تاریخ و CASE

توابع داخلی SQL Server پردازش متن، تاریخ و منطق شرطی را ساده میکنند. در این درس چند نمونه پرکاربرد T-SQL را مرور میکنیم.
توابع رشتهای
1 2 3 4 | SELECT LEN(N'سلام دنیا') AS TextLength, UPPER('sql server') AS UpperText, LTRIM(RTRIM(' SQL ')) AS CleanText; |
LEN طول متن را میدهد؛ UPPER حروف انگلیسی را بزرگ میکند و LTRIM/RTRIM فاصلههای ابتدا و انتها را حذف میکنند.
توابع تاریخ
1 2 3 | SELECT GETDATE() AS CurrentDateTime, DATEADD(day, 7, CAST(GETDATE() AS date)) AS NextWeek, DATEDIFF(day, '2026-01-01', GETDATE()) AS DaysPassed; |
برای دادههای جدید، در صورت نیاز به دقت بیشتر میتوانید از SYSDATETIME و DATETIME2 استفاده کنید.
عبارت CASE
1 2 3 4 5 6 7 | SELECT ProductName, Price, CASE WHEN Price >= 1000 THEN N'گران' WHEN Price >= 500 THEN N'متوسط' ELSE N'اقتصادی' END AS PriceGroup FROM dbo.Products; |
CASE بر اساس اولین شرط درست، مقدار متناظر را برمیگرداند. ترتیب شرطها مهم است.
برای ترکیب داده از چند جدول به JOIN و برای منطق چندمرحلهای به CTE و زیرکوئری مراجعه کنید.

