![]() |
|
ما هو بديل دالة WeekOfTheYear في sql - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : ما هو بديل دالة WeekOfTheYear في sql (/showthread.php?tid=11426) |
ما هو بديل دالة WeekOfTheYear في sql - samnaj00 - 01-07-2021 السلام عليكم ورحمة الله وبركاته بحث كثيراً عن البديل فلم اجد سوى دالة DATEPART تعمل في sql server فقط كود : SELECT DATEPART(wk, GETDATE());
select DATEPART(WK, '01/03/2016');
او//
DECLARE @date date = '2024-07-20';
SELECT
DATEPART(week, @date) AS week,
DATEPART(wk, @date) AS wk,
DATEPART(ww, @date) AS ww;
Result:
+--------+------+------+
| week | wk | ww |
|--------+------+------|
| 29 | 29 | 29 |
+--------+------+------+ RE: ما هو بديل دالة WeekOfTheYear في sql - ALG2009 - 01-07-2021 وعليك السلام جرب كود : DATE_ADD(time_stamp, INTERVAL DATEDIFF('2010-12-31', time_stamp) DAY)RE: ما هو بديل دالة WeekOfTheYear في sql - larbiparadox - 01-07-2021 وعليك السلام ورحمة الله وبركاته سؤالك ناقص لم تحدد قاعدة البيانات التي تعمل عليها بالنسبة لـ Firebird البديل لـ DATEPART هي EXTRACT رابط لشرح https://firebirdsql.org/refdocs/langrefupd21-intfunc-extract.html
RE: ما هو بديل دالة WeekOfTheYear في sql - samnaj00 - 03-07-2021 (01-07-2021, 07:13 PM)ALG2009 كتب : وعليك السلام (01-07-2021, 09:14 PM)larbiparadox كتب : وعليك السلام ورحمة الله وبركاته المعذرة على عدم ذكر قاعدة البيانات absolute ولذلك date_add لم تعمل اما extract في تعمل فقط مع day , month , year RE: ما هو بديل دالة WeekOfTheYear في sql - larbiparadox - 03-07-2021 (03-07-2021, 11:43 AM)samnaj00 كتب :(01-07-2021, 07:13 PM)ALG2009 كتب : وعليك السلام * الدلفي بحر واسع من الاوامر ، يمكن الحصول على أي نتيجة بطرق و أفكار معقدة * في حالة absolute يمكنك العمل الفلترة بين تاريخين ، وذلك من تاريخ معين نستخرج رقم الاسبوع و بعدها نستخرج تاريخ بداية الاسبوع و النهاية نصرح بالمتغيرات التالية dt للتاريخ ، sd لحجز بداية التاريخ wk رقم الاسبوع كود : var
dt,sd :TDateTime;
wk :Integer;تحويل نص التاريخ 20-07-2024 إلى تاريخ كود : dt := EncodeDate(2024,07,20);معرفة رقم الاسبوع من التاريخ كود : wk := WeekOfTheYear(dt);معرفة تاريخ بداية الاسبوع المحدد برقم كود : sd := StartOfAWeek(YearOf(dt), wk);لمعرفة تاريخ نهاية نضيف 6 إلى sd الان لدينا التارخين المطلوبين RE: ما هو بديل دالة WeekOfTheYear في sql - samnaj00 - 05-07-2021 (03-07-2021, 06:55 PM)larbiparadox كتب : * الدلفي بحر واسع من الاوامر ، يمكن الحصول على أي نتيجة بطرق و أفكار معقدة صحيح صدقت استاذي الكريم وهنا تأتي الخبرة في استخدام الاكواد (03-07-2021, 06:55 PM)larbiparadox كتب : * في حالة absolute يمكنك العمل الفلترة بين تاريخين ، وذلك من تاريخ معين نستخرج رقم الاسبوع و بعدها نستخرج تاريخ بداية الاسبوع و النهاية جزاك الله خيراً ما هي صيغة الاستعلام للحصول على رقم الاسبوع من جدول فيه عمود تاريخ my_dale ؟؟ RE: ما هو بديل دالة WeekOfTheYear في sql - samnaj00 - 06-07-2021 قبل طرح الموضوع عملت على جلب رقم الاسبوع عن طريق for وكانت النتيجة تمام على اعتبار السبت اول الاسبوع لكنني بانتظار الحل بالـ SQL كود : With ABSTable1 Do
begin
First;
while Not EOF do
begin
Edit;
ABSTable1num_week.Value := WeekOfTheYear(ABSTable1date_sale.Value + 2);
Post;
Next;
end;
end;عدلت على الكود ليتم بالاضافة للكود السابق جلب اول الاسبوع ونهاية الاسبوع كود : With ABSTable1 Do
begin
First;
while Not EOF do
begin
Edit;
ABSTable1num_week.Value := WeekOfTheYear(ABSTable1date_sale.Value + 2);
wk := WeekOfTheYear(ABSTable1date_sale.AsDateTime);
sd := StartOfAWeek(YearOf(ABSTable1date_sale.AsDateTime), wk);
ABSTable1date_First.Value := sd -2;
ABSTable1date_End.Value := sd + 4;
Post;
Next;
end;
end;لكن حصل مشكلة وهي أن تاريخ 1/1/2021 هو يوم الجمعة ورقم اسبوعه هو 53 لذلك تظهر رسالة تفيد بأن (1 / 53 / 2021) ليس تاريخاً RE: ما هو بديل دالة WeekOfTheYear في sql - larbiparadox - 06-07-2021 الخطأ ليس من عندك ، كما نعلم أن عدد الأسابيع في السنة هو 52 ، لكن رقم رقم أسبوع 01-01-2021 هو 53 ، لكن الدالة StartOfAWeek لا تقبل 53 ... امر غريب !!!! ، عدلها برمجيا اذا كانت تساوي 53 اعدها الى 52 * سؤال : لماذا تظهر التاريخ بهذا الشكل
RE: ما هو بديل دالة WeekOfTheYear في sql - samnaj00 - 07-07-2021 (06-07-2021, 09:00 PM)larbiparadox كتب : * سؤال : لماذا تظهر التاريخ بهذا الشكل بما انني في وضع التصميم اظهرت اسم اليوم في التاريخ لأتأكد من او يوم واخر يوم في الاسبوع بالنسبة لـ dddd يبدو ان ddd او dddd لاظهار اسم اليوم |