Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
CODE PROJECT For Those Who Code
  • Home
  • Articles
  • FAQ
Community
  1. Home
  2. Database & SysAdmin
  3. Database
  4. sql function

sql function

Scheduled Pinned Locked Moved Database
databasehelp
3 Posts 3 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T Offline
    T Offline
    Thanusree Duth
    wrote on last edited by
    #1

    My sql function is ALTER FUNCTION[dbo].[FN_ATTENDANCE_REPORT_DATES] ( @EMPID varchar(50) ,@FROMDATE datetime,@TODATE datetime)RETURNS TABLE AS RETURN( SELECT DR_EmployeeID AS EMPID,EM_FirstName+EM_MiddleName+EM_LastName AS EMPNAME,ED_Department AS DEPARTMENT, ISNULL(CONVERT(VARCHAR,DR_TimeIn,103),'Not checked')AS DATEOFWORK, SUBSTRING(CONVERT(VARCHAR,ES_TimeIn,9),14,15)+'-'+SUBSTRING(CONVERT(VARCHAR,ES_TimeOut,9),14,15)AS SHIFTTIME, ISNULL(SUBSTRING(CONVERT(NVARCHAR,MIN(DR_TimeIn), 22), 10, 11),'Not checked') AS FIRSTTIMEIN, ISNULL(SUBSTRING(CONVERT(NVARCHAR,MAX(DR_TimeOut), 22), 10, 11),'Not checked') AS LASTTIMEOUT, ISNULL(CONVERT(VARCHAR(5),DATEDIFF(SS,DR_TimeIn,DR_TimeOut)/3600) +':'+ CONVERT(VARCHAR(5),DATEDIFF(SS,DR_TimeIn,DR_TimeOut )%3600/60) +':'+ CONVERT(VARCHAR(5),(DATEDIFF(SS,DR_TimeIn,DR_TimeOut)%60)),'0:0:0')AS TOTALHOURS FROM SG_Daily_Register INNER JOIN SG_Emp_Shift ON SG_Daily_Register.DR_ShiftID=SG_Emp_Shift.ES_ShiftID INNER JOIN SG_Emp_Master ON SG_Daily_Register.DR_EmployeeID=SG_Emp_Master.EM_EmployeeID INNER JOIN SG_Emp_Department ON SG_Emp_Master.EM_DeptID=SG_Emp_Department.ED_DeptID WHERE DR_EmployeeID=@EMPID AND CONVERT(VARCHAR,DR_TimeIn,101) BETWEEN @FROMDATE AND @TODATE GROUP BY DR_EmployeeID,EM_FirstName+EM_MiddleName+EM_LastName,ED_Department,ES_TimeIn,ES_TimeOut,DR_TimeIn,DR_TimeOut ) I got output as FIRSTTIMEIN LASTTIMEOUT 2833020 PreethyS Development 02/12/2010 7:00:00:000PM-3:00:00:000AM 7:10:09 PM 9:40:45 PM 2:30:36 2833020 PreethyS Development 02/12/2010 7:00:00:000PM-3:00:00:000AM 10:20:32 PM 12:15:27 AM 1:54:55 2833020 PreethyS Development 03/12/2010 7:00:00:000PM-3:00:00:000AM 12:23:25 AM 1:24:23 AM 1:0:58 2833020 PreethyS Development 03/12/2010 7:00:00:000PM-3:00:00:000AM 1:32:43 AM 3:45:54 AM 2:13:11 But I have to get output as 2833020 PreethyS Development 02/12/2010 7:00:00:000PM-3:00:00:000AM 7:10:09 PM 12:15:27 AM 4:26:26 2833020 PreethyS Development 03/12/2010 7:00:00:000PM-3:00:00:000AM 12:23:25 AM 3:45:54 AM 3:14:09 pls help

    S J 2 Replies Last reply
    0
    • T Thanusree Duth

      My sql function is ALTER FUNCTION[dbo].[FN_ATTENDANCE_REPORT_DATES] ( @EMPID varchar(50) ,@FROMDATE datetime,@TODATE datetime)RETURNS TABLE AS RETURN( SELECT DR_EmployeeID AS EMPID,EM_FirstName+EM_MiddleName+EM_LastName AS EMPNAME,ED_Department AS DEPARTMENT, ISNULL(CONVERT(VARCHAR,DR_TimeIn,103),'Not checked')AS DATEOFWORK, SUBSTRING(CONVERT(VARCHAR,ES_TimeIn,9),14,15)+'-'+SUBSTRING(CONVERT(VARCHAR,ES_TimeOut,9),14,15)AS SHIFTTIME, ISNULL(SUBSTRING(CONVERT(NVARCHAR,MIN(DR_TimeIn), 22), 10, 11),'Not checked') AS FIRSTTIMEIN, ISNULL(SUBSTRING(CONVERT(NVARCHAR,MAX(DR_TimeOut), 22), 10, 11),'Not checked') AS LASTTIMEOUT, ISNULL(CONVERT(VARCHAR(5),DATEDIFF(SS,DR_TimeIn,DR_TimeOut)/3600) +':'+ CONVERT(VARCHAR(5),DATEDIFF(SS,DR_TimeIn,DR_TimeOut )%3600/60) +':'+ CONVERT(VARCHAR(5),(DATEDIFF(SS,DR_TimeIn,DR_TimeOut)%60)),'0:0:0')AS TOTALHOURS FROM SG_Daily_Register INNER JOIN SG_Emp_Shift ON SG_Daily_Register.DR_ShiftID=SG_Emp_Shift.ES_ShiftID INNER JOIN SG_Emp_Master ON SG_Daily_Register.DR_EmployeeID=SG_Emp_Master.EM_EmployeeID INNER JOIN SG_Emp_Department ON SG_Emp_Master.EM_DeptID=SG_Emp_Department.ED_DeptID WHERE DR_EmployeeID=@EMPID AND CONVERT(VARCHAR,DR_TimeIn,101) BETWEEN @FROMDATE AND @TODATE GROUP BY DR_EmployeeID,EM_FirstName+EM_MiddleName+EM_LastName,ED_Department,ES_TimeIn,ES_TimeOut,DR_TimeIn,DR_TimeOut ) I got output as FIRSTTIMEIN LASTTIMEOUT 2833020 PreethyS Development 02/12/2010 7:00:00:000PM-3:00:00:000AM 7:10:09 PM 9:40:45 PM 2:30:36 2833020 PreethyS Development 02/12/2010 7:00:00:000PM-3:00:00:000AM 10:20:32 PM 12:15:27 AM 1:54:55 2833020 PreethyS Development 03/12/2010 7:00:00:000PM-3:00:00:000AM 12:23:25 AM 1:24:23 AM 1:0:58 2833020 PreethyS Development 03/12/2010 7:00:00:000PM-3:00:00:000AM 1:32:43 AM 3:45:54 AM 2:13:11 But I have to get output as 2833020 PreethyS Development 02/12/2010 7:00:00:000PM-3:00:00:000AM 7:10:09 PM 12:15:27 AM 4:26:26 2833020 PreethyS Development 03/12/2010 7:00:00:000PM-3:00:00:000AM 12:23:25 AM 3:45:54 AM 3:14:09 pls help

      S Offline
      S Offline
      Simon_Whale
      wrote on last edited by
      #2

      could do with knowing the following 1. what version of SQL? 2. Sample Data 3. Tables (DDL)

      As barmey as a sack of badgers

      1 Reply Last reply
      0
      • T Thanusree Duth

        My sql function is ALTER FUNCTION[dbo].[FN_ATTENDANCE_REPORT_DATES] ( @EMPID varchar(50) ,@FROMDATE datetime,@TODATE datetime)RETURNS TABLE AS RETURN( SELECT DR_EmployeeID AS EMPID,EM_FirstName+EM_MiddleName+EM_LastName AS EMPNAME,ED_Department AS DEPARTMENT, ISNULL(CONVERT(VARCHAR,DR_TimeIn,103),'Not checked')AS DATEOFWORK, SUBSTRING(CONVERT(VARCHAR,ES_TimeIn,9),14,15)+'-'+SUBSTRING(CONVERT(VARCHAR,ES_TimeOut,9),14,15)AS SHIFTTIME, ISNULL(SUBSTRING(CONVERT(NVARCHAR,MIN(DR_TimeIn), 22), 10, 11),'Not checked') AS FIRSTTIMEIN, ISNULL(SUBSTRING(CONVERT(NVARCHAR,MAX(DR_TimeOut), 22), 10, 11),'Not checked') AS LASTTIMEOUT, ISNULL(CONVERT(VARCHAR(5),DATEDIFF(SS,DR_TimeIn,DR_TimeOut)/3600) +':'+ CONVERT(VARCHAR(5),DATEDIFF(SS,DR_TimeIn,DR_TimeOut )%3600/60) +':'+ CONVERT(VARCHAR(5),(DATEDIFF(SS,DR_TimeIn,DR_TimeOut)%60)),'0:0:0')AS TOTALHOURS FROM SG_Daily_Register INNER JOIN SG_Emp_Shift ON SG_Daily_Register.DR_ShiftID=SG_Emp_Shift.ES_ShiftID INNER JOIN SG_Emp_Master ON SG_Daily_Register.DR_EmployeeID=SG_Emp_Master.EM_EmployeeID INNER JOIN SG_Emp_Department ON SG_Emp_Master.EM_DeptID=SG_Emp_Department.ED_DeptID WHERE DR_EmployeeID=@EMPID AND CONVERT(VARCHAR,DR_TimeIn,101) BETWEEN @FROMDATE AND @TODATE GROUP BY DR_EmployeeID,EM_FirstName+EM_MiddleName+EM_LastName,ED_Department,ES_TimeIn,ES_TimeOut,DR_TimeIn,DR_TimeOut ) I got output as FIRSTTIMEIN LASTTIMEOUT 2833020 PreethyS Development 02/12/2010 7:00:00:000PM-3:00:00:000AM 7:10:09 PM 9:40:45 PM 2:30:36 2833020 PreethyS Development 02/12/2010 7:00:00:000PM-3:00:00:000AM 10:20:32 PM 12:15:27 AM 1:54:55 2833020 PreethyS Development 03/12/2010 7:00:00:000PM-3:00:00:000AM 12:23:25 AM 1:24:23 AM 1:0:58 2833020 PreethyS Development 03/12/2010 7:00:00:000PM-3:00:00:000AM 1:32:43 AM 3:45:54 AM 2:13:11 But I have to get output as 2833020 PreethyS Development 02/12/2010 7:00:00:000PM-3:00:00:000AM 7:10:09 PM 12:15:27 AM 4:26:26 2833020 PreethyS Development 03/12/2010 7:00:00:000PM-3:00:00:000AM 12:23:25 AM 3:45:54 AM 3:14:09 pls help

        J Offline
        J Offline
        J4amieC
        wrote on last edited by
        #3

        This is the 3rd question on the same topic. You should stick to 1 thread for 1 topic. Ive also pointed out the forum guidlines which ask you to use descriptive subject lines . "sql function" does not qualify as descriptive in a sql forum. The forum guidlines should also include the request to put code within formatted code blocks for ease of reading (if it doesnt it should). Furthermore, you have not given any response to the answers youve been given below, so we have no idea if were even on the right track. Lastly, Ive already answered this question below.

        1 Reply Last reply
        0
        Reply
        • Reply as topic
        Log in to reply
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes


        • Login

        • Don't have an account? Register

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • World
        • Users
        • Groups