اذهب إلى المحتوى
  • 0

دالة Convert في SQL Server

عبد الله كمال حسين

السؤال

اريد انشاء دالة تقبل مدخل من نوع int و تحوله الي date حيث ان هذا التايخ يعبر عن اليوم الذي استلم به مدير معين ادارة قسم معين بالاضافة لاستخراج اسم القسم و اسم المدير مع هذا التاريخ

--قمت بعدة الحاولات المرفقة ولكنها لا تعمل

 

WhatsApp Image 2021-12-07 at 3.33.24 PM.jpeg

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

بشكل عام، يمكنك تحويل أعداد صحيحة كالتالي:

20100101

إلى تواريخ datetime وفق الدالة CONVERT التي تي توفرها SQL ، يكون ذلك في إستعلام SQL مثلا كالتالي :

select CONVERT (datetime,20100101)

كما يمكن استخدامها مع أي استعلام آخر، حيث تقبل كمعاملين: ثابت التحويل (يبقى datetime في حالة التحويل إلى تاريخ) والمعامل الثاني العدد الصحيح. بالإضافة إلى معامل ثالث يعبر عن نمط التاريخ مضبوط افتراضيا.

الشكل العام للدالة:

CONVERT(datetime, <string parameter>, styleFormat)

سنقوم بإختيار رمز التنسيق الأبسط والأكثر شيوعا: mm/dd/yyyy المعبر عنه بالعدد 101.

يمكنك توظيف هاته الدالة في استعلام SELECT آخر لجلب اسم القسم واسم المدير:

CREATE FUNCTION udf_convert_int_date (@my_integer INT)  
RETURNS datetime 
AS 
BEGIN 
   DECLARE @receving_date datetime 
   SET @receving_date = CONVERT(datetime, CAST(@my_integer AS CHAR(8)), 101) 

   RETURN @receving_date 
END 

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 5 ساعات قال Adnane Kadri:

بشكل عام، يمكنك تحويل أعداد صحيحة كالتالي:


20100101

إلى تواريخ datetime وفق الدالة CONVERT التي تي توفرها SQL ، يكون ذلك في إستعلام SQL مثلا كالتالي :


select CONVERT (datetime,20100101)

كما يمكن استخدامها مع أي استعلام آخر، حيث تقبل كمعاملين: ثابت التحويل (يبقى datetime في حالة التحويل إلى تاريخ) والمعامل الثاني العدد الصحيح. بالإضافة إلى معامل ثالث يعبر عن نمط التاريخ مضبوط افتراضيا.

الشكل العام للدالة:


CONVERT(datetime, <string parameter>, styleFormat)

سنقوم بإختيار رمز التنسيق الأبسط والأكثر شيوعا: mm/dd/yyyy المعبر عنه بالعدد 101.

يمكنك توظيف هاته الدالة في استعلام SELECT آخر لجلب اسم القسم واسم المدير:


CREATE FUNCTION udf_convert_int_date (@my_integer INT)  
RETURNS datetime 
AS 
BEGIN 
   DECLARE @receving_date datetime 
   SET @receving_date = CONVERT(datetime, CAST(@my_integer AS CHAR(8)), 101) 

   RETURN @receving_date 
END 

 

هل يمكنك أن تريني كيفية تضمين هذه الوظيفة مع اسم المدير واسم القسم في استعلام تحديد 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 3 ساعات قال Abdullah Kamal:

هل يمكنك أن تريني كيفية تضمين هذه الوظيفة مع اسم المدير واسم القسم في استعلام تحديد 

يتحكم في هذا هيكلية قواعد بياناتك بالدرجة الأولى، ولكن بشكل عام يمكنك إستعمال هاته الدالة في أي استعلام بمجرد تضمينها بشكل عادي:

SELECT
 class,
 [dbo].[udf_convert_int_date](YOUR_INTEGER_COLUMN),
 teacher
FROM teachers

يمكنك إستعمالها في إستعلامات JOIN أو INSERT أو غيرها، كما يمكنك تخصيص اسم الدالة وتسميتها وفق ما يوافقك.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...