This is a mirror of official site: http://jasper-net.blogspot.com/

הרצה של #C בתוך Sql Server - מה שנקרא (Sql Server CLR)

| Sunday, November 14, 2010
קבלתי שאלה במייל -

שלום
אני צריך קוד SQL שיכול להמיר תאריך לועזי לעברי (חד-סטרי) בלי שימוש בדוטנט אסמבליז. SQL "טהור"
אין צורך בפרשיות או דברים אחרים רק שיקבל לועזי ויחזיר שנה חודש ויום עברי
כך יהיה אפשרי לאחסן תאריך לועזי במסד ולקבל באמצעות שאילתה או שדה מחושב את החודש/יום עברי לצורך בר-מצווה ויארצייטים
אשמח מאוד אם תוכל לשתף אותי בקוד כזה
תודה רבה!

אני מניח שזה אפשרי - אבל כמובן שהרבה יותר קל לעשות את זה ב - #C, אבל מכיוון שהוא רוצה את זה מתוך Sql Server חשבתי שאפשר להשתמש ב - Sql Server CLR.

בשלב הראשון נוסיף פרוייקט מסוג SqlServerProject, (חייבים לבחור ב - framework 3.5 - זה לא עובד ב - 4)
לאחר מכן בוחרים את בסיס הנתונים שאליו רוצים להוסיף מתודות.
לאחר מכן נוסיף, פונקצייה סטטית לפרוייקט. (את הקוד שממיר מתאריך לועזי לעברי הורדתי מכאן)

[SqlProcedure]
public static void GetHebrewJewishDateString(DateTime anyDate, bool addDayOfWeek)
{
   StringBuilder hebrewFormatedString = new StringBuilder();

   CultureInfo jewishCulture = CultureInfo.CreateSpecificCulture("he-IL");
   jewishCulture.DateTimeFormat.Calendar = new HebrewCalendar();

   #region Format the date into a Jewish format

   if (addDayOfWeek)
   {
       // Day of the week in the format " "
       hebrewFormatedString.Append(anyDate.ToString("dddd", jewishCulture) + " ");
   }

   // Day of the month in the format "'"
   hebrewFormatedString.Append(anyDate.ToString("dd", jewishCulture) + " ");

   // Month and year in the format " "
   hebrewFormatedString.Append("" + anyDate.ToString("y", jewishCulture));

   

Posted via email from .NET Info

0 comments: