1

「date」と「dayOfWeek」列を結合したいこのSQLステートメントがあります

 SELECT CONVERT(date,startTimeStamp) AS DATE
      , datename(dw,CONVERT(date,startTimeStamp)) as dayOfWeek
      ,CONVERT(time,[startTimeStamp])AS StartTime
      ,CONVERT(time,[endTimeStamp])AS EndTime
      ,DATEDIFF(HH,[startTimeStamp] ,[endTimeStamp])
  FROM [TaskManagementSystem_DB].[dbo].[Timesheet_entry]
4

1 に答える 1

2

Sounds like you want this:

SELECT CONVERT(date,startTimeStamp) AS DATE
      , datename(dw,CONVERT(date,startTimeStamp)) as dayOfWeek
      ,cast(datename(dw,CONVERT(date, startTimeStamp)) as varchar(50)) -- add this
        + ' ' +                                                     -- add this
        CONVERT(varchar(50),CONVERT(date,startTimeStamp)) FullDate -- add this
      ,CONVERT(time,[startTimeStamp])AS StartTime
      ,CONVERT(time,[endTimeStamp])AS EndTime
      ,DATEDIFF(HH,[startTimeStamp] ,[endTimeStamp])
  FROM [TaskManagementSystem_DB].[dbo].[Timesheet_entry]

To concatenate the fields together you must cast() them to the same datatype, similar to this:

select cast(datename(dw,CONVERT(date, getdate())) as varchar(50)) 
  + ' ' +
  CONVERT(varchar(50) ,getdate()) newdate

see SQL Fiddle with Demo

于 2012-09-17T22:25:00.343 に答える