نحوه افزودن یا کاهش تاریخ در Sql Server چگونه است ؟
می خواستم بدونم اگر بخوام به یک تاریخ خاصی در Sql Server یک مقداری رو اضافه یا کم کنم چجوری باید این کار رو انجام بدم.
مثلا میخوام کاری کنم که اگر 2 روز به تاریخ تولد کاربران باقی مانده یک پیامک تبریک براشون ارسال کنم.
پاسخ هوش مصنوعی
برای افزودن یا کاهش تاریخ در SQL Server می توانید از تابع DATEADD استفاده کنید. این تابع به شما این امکان را می دهد که مقدار خاصی (روز، ماه، سال و...) را به یک تاریخ اضافه یا از آن کم کنید.
در مثال شما، اگر بخواهید 2 روز به تاریخ تولد کاربران اضافه کنید و بررسی کنید که آیا به تاریخ تولدشان 2 روز مانده است یا نه، می توانید از کد زیر استفاده کنید:
SELECT *
FROM Users
WHERE DATEDIFF(DAY, GETDATE(), Birthday) = 2;
در اینجا، GETDATE() تاریخ و زمان جاری را به شما می دهد و BIRTHDAY ستون تاریخ تولد کاربران است. تابع DATEDIFF اختلاف بین تاریخ فعلی و تاریخ تولد هر کاربر را در روز محاسبه می کند و اگر نتیجه برابر با 2 باشد، آن کاربر در لیست قرار می گیرد و شما می توانید پیغام تبریک را برای او ارسال کنید.
نحوه افزودن یا کاهش تاریخ در Sql Server
برای افزودن یا کاهش تاریخ در Sql Server میتونید از تابع DateAdd استفاده کنید. برای استفاده از این تابع چند تا مثال رو مینویسم براتون.
SELECT DATEADD(month, -1, '2019/08/25') AS myDate;
//Result
2019/07/25
در مثال بالا از تابع DateAdd استفاده شده. این تابع 3 پارامتر دارد.
- پارامتر اول interval : اولین پارامتر تابع DateAdd پارامتر interval می باشد. این پارامتر نشان می دهد که افرودن یا کاهش یک تاریخ بر چه اساسی باید باشد. این پارامتر مقادیر زیر را دریافت می کند.
year, yyyy, yy = Year
quarter, qq, q = Quarter
month, mm, m = month
dayofyear, dy, y = Day of the year
day, dd, d = Day
week, ww, wk = Week
weekday, dw, w = Weekday
hour, hh = hour
minute, mi, n = Minute
second, ss, s = Second
millisecond, ms = Millisecond
- پارامتر دوم number : این پارامتر میزان کاهش یا افزایش به یک تاریخ را نشان می دهد. به عنوان مثال اگر پارامتر اول day باشد و پارامتر دوم 5 یعنی به تاریخ روز 5 روز اضافه کن. اگر این عدد منفی باشد از تاریخ مورد نظر کاسته می شود.
- پارامتر سوم date : این پارامتر هم یک تاریخ دریافت می کند. عملیات افزایش یا کاهش تاریخ بر اساس این پارامتر انجام می شود.
چند مثال از نحوه کار DateAdd
چند تا مثال از نحوه کار تابع DateAdd مینویسم به همراه خروجی که به فهم این موضوع خیلی کمک می کنه.
Select DateAdd(day,5,'2017/05/15') As myDate
//Result
2017/05/20
Select DateAdd(month,-2,'2020/08/11')
//Result
2020/06/11
Select DateAdd(year,1,GetDate())
//Result
//GetDate() is CurrentDate
2021/10/29
در مورد تابع DateAdd لینک زیر هم مثال هایی داره
- دسترسی به پکیج های nuget در زمان قطع نت بین الملل
- نمایش آخرین ردیف دیتاگیرید موقع لود در wpf
- مشکل اینترنت جهانی و عدم دسترسی به cdnjs.cloudflare.com
- مشکل در نصب sql server 2022
- جلوگیری از اد شدن خودکار در گروه و کانال تلگرام
- کم کردن حجم فیلم توسط کد در Asp net core
- چه کسانی استوری تلگرام را می بینند ؟
- برای کسب و کار تلگرام پرمیوم بهتره یا واتس اپ بیزینس ؟
- جلوگیری از انتشار غیرمجاز مطالب در کانال های تلگرامی
- تفاوت های تلگرام و واتس اپ چیست ؟
- حذف کامل یک رکورد در جدول ریلیشن شده
- مقایسه ساختار دو دیتابیس در Sql Server
- اشکال در ایجاد کلید خارجی در Sql Server
- تفاوت اوراکل و Sql Server چیست
- جابه جایی سطر و ستون در Sql Server
- استفاده از Stored Procedure در انتیتی فریم ورک code First
- آپدیت لیستی از رکوردها در Sql Server - آپدیت گروهی اطلاعات در Sql Server
- دلیل پرش 1000 تایی خودکار فیلد identity در Sql server
- مشکل نمایش ندادن Data Type موقع تایپ در Sql Server
- کار با تاریخ شمسی وساعت (استفاده از توابع )