Advertisement
Guest User

Untitled

a guest
Jul 20th, 2017
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 4.84 KB | None | 0 0
  1. /*<EventDesc>]__calschedid__[
  2.  - CHAPMAN
  3. People:4</EventDesc><MonthDesc>]__arrive_time__[ - ]__depart_time__[: CHAPMAN</MonthDesc><MonthDescFull>]__arrive_time__[ - ]__depart_time__[:  - ]__calschedid__[ - CODY CHAPMAN</MonthDescFull><ReservationEvents><Event_0><callocatid>1</callocatid><calschedid>2000001</calschedid><end_date>03/15/2011 09:35:00</end_date><res_index>0</res_index><reserv_no>5004001</reserv_no><save_info><EventDesc>]__calschedid__[
  4.  - CHAPMAN
  5. People:4</EventDesc><MonthDesc>]__arrive_time__[ - ]__depart_time__[: CHAPMAN</MonthDesc><MonthDescFull>]__arrive_time__[ - ]__depart_time__[:  - ]__calschedid__[ - CODY CHAPMAN</MonthDescFull></save_info><sortid>40617</sortid><start_date>03/15/2011 09:15:00</start_date><updated_save_info><EventDesc>CATERING
  6.  - CHAPMAN
  7. People:4</EventDesc><MonthDesc>09:15 AM - 10:25 AM: CHAPMAN</MonthDesc><MonthDescFull>09:15 AM - 10:25 AM:  - CATERING - CODY CHAPMAN</MonthDescFull></updated_save_info></Event_0><Event_1><callocatid>2</callocatid><calschedid>3000001</calschedid><end_date>03/15/2011 10:25:00</end_date><res_index>0</res_index><reserv_no>5004001</reserv_no><save_info><EventDesc>]__calschedid__[
  8.  - CHAPMAN
  9. People:4</EventDesc><MonthDesc>]__arrive_time__[ - ]__depart_time__[: CHAPMAN</MonthDesc><MonthDescFull>]__arrive_time__[ - ]__depart_time__[:  - ]__calschedid__[ - CODY CHAPMAN</MonthDescFull></save_info><sortid>40617</sortid><start_date>03/15/2011 09:35:00</start_date><updated_save_info><EventDesc>BIRTHDAY PARTY
  10.  - CHAPMAN
  11. People:4</EventDesc><MonthDesc>09:15 AM - 10:25 AM: CHAPMAN</MonthDesc><MonthDescFull>09:15 AM - 10:25 AM:  - BIRTHDAY PARTY - CODY CHAPMAN</MonthDescFull></updated_save_info></Event_1><Event_2><callocatid>2</callocatid><calschedid>3000001</calschedid><end_date>03/16/2011 11:10:00</end_date><res_index>0</res_index><reserv_no>5004001</reserv_no><save_info><EventDesc>]__calschedid__[
  12.  - CHAPMAN
  13. People:4</EventDesc><MonthDesc>]__arrive_time__[ - ]__depart_time__[: CHAPMAN</MonthDesc><MonthDescFull>]__arrive_time__[ - ]__depart_time__[:  - ]__calschedid__[ - CODY CHAPMAN</MonthDescFull></save_info><sortid>40618</sortid><start_date>03/16/2011 10:35:00</start_date><updated_save_info><EventDesc>BIRTHDAY PARTY
  14.  - CHAPMAN
  15. People:4</EventDesc><MonthDesc>10:00 AM - 11:10 AM: CHAPMAN</MonthDesc><MonthDescFull>10:00 AM - 11:10 AM:  - BIRTHDAY PARTY - CODY CHAPMAN</MonthDescFull></updated_save_info></Event_2><Event_3><callocatid>1</callocatid><calschedid>2000001</calschedid><end_date>03/16/2011 10:35:00</end_date><res_index>0</res_index><reserv_no>5004001</reserv_no><save_info><EventDesc>]__calschedid__[
  16.  - CHAPMAN
  17. People:4</EventDesc><MonthDesc>]__arrive_time__[ - ]__depart_time__[: CHAPMAN</MonthDesc><MonthDescFull>]__arrive_time__[ - ]__depart_time__[:  - ]__calschedid__[ - CODY CHAPMAN</MonthDescFull></save_info><sortid>40618</sortid><start_date>03/16/2011 10:00:00</start_date><updated_save_info><EventDesc>CATERING
  18.  - CHAPMAN
  19. People:4</EventDesc><MonthDesc>10:00 AM - 11:10 AM: CHAPMAN</MonthDesc><MonthDescFull>10:00 AM - 11:10 AM:  - CATERING - CODY CHAPMAN</MonthDescFull></updated_save_info></Event_3></ReservationEvents>*/
  20.  
  21. DECLARE @reservNo   INT
  22. SET     @reservNo = 5004001
  23.  
  24. IF OBJECT_ID('tempdb..#eventStartTimes') IS NOT NULL
  25.    DROP TABLE #eventStartTimes
  26.  
  27. CREATE TABLE #eventStartTimes
  28. (
  29.     eventNo     INT,
  30.     location    INT,
  31.     [event]     INT,
  32.     startDate   DATETIME
  33. )
  34.  
  35. DECLARE @eventIndex INT
  36. SET     @eventIndex = 0
  37.  
  38. DECLARE @tempString VARCHAR(MAX)
  39. DECLARE @locatID    INT
  40. DECLARE @schedID    INT
  41. DECLARE @startDate  DATETIME
  42.  
  43. SET     @tempString = (SELECT r.save_info FROM resrvatn r WHERE reserv_no = @reservNo)
  44.  
  45. WHILE (PATINDEX('%<Event[_]%>%', @tempString) != '')
  46. BEGIN
  47.     SET     @tempString = SUBSTRING(@tempString, PATINDEX('%<Event[_]%>%', @tempString),
  48.             LEN(@tempString)) -- Trim until next event
  49.     SET     @tempString = SUBSTRING(@tempString, PATINDEX('%<callocatid>%', @tempString),
  50.             LEN(@tempString)) -- Trim until location ID
  51.  
  52.     SET     @locatID = CAST(SUBSTRING(@tempString, LEN('<callocatid>') + 1,
  53.                        PATINDEX('%</callocatid>%', @tempString) - LEN('</callocatid>'))
  54.                        AS INT)
  55.  
  56.     SET     @tempString = SUBSTRING(@tempString, PATINDEX('%<calschedid>%', @tempString),
  57.                           LEN(@tempString)) -- Trim until event ID
  58.  
  59.     SET     @schedID = CAST(SUBSTRING(@tempString, LEN('<calschedid>') + 1,
  60.                        PATINDEX('%</calschedid>%', @tempString) - LEN('</calschedid>'))
  61.                        AS INT)
  62.  
  63.     SET     @tempString = SUBSTRING(@tempString, PATINDEX('%<start[_]date>%', @tempString),
  64.                           LEN(@tempString)) -- Trim until start_date
  65.  
  66.     SET     @startDate = CAST(SUBSTRING(@tempString, LEN('<start_date>') + 1,
  67.                          PATINDEX('%</start[_]date>%', @tempString) - LEN('</start_date>'))
  68.                          AS DATETIME)
  69.    
  70.     INSERT INTO #eventStartTimes
  71.         SELECT  @eventIndex,
  72.                 @locatID,
  73.                 @schedID,
  74.                 @startDate
  75.  
  76.     SET     @eventIndex = @eventIndex + 1
  77.  
  78. END
  79.    
  80. SELECT * FROM #eventStartTimes
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement