一维转二维类型错误
以下是表格内容:
ID StaffID Staff week workday worktime Department Jude
1 200003 張三 5 2013-8-19 7:30:00 車間 1
2 200003 張三 5 2013-8-19 12:05:00 車間 2
3 200003 張三 5 2013-8-19 13:44:00 車間 3
4 200003 張三 5 2013-8-19 17:33:00 車間 4
5 200003 張三 5 2013-8-19 18:45:00 車間 5
6 200003 張三 5 2013-8-19 20:20:00 車間 6
7 200003 張三 5 2013-8-19 20:21:00 車間 0
8 200004 李四 5 2013-8-19 7:24:00 車間 1
9 200004 李四 5 2013-8-19 12:15:00 車間 2
10 200004 李四 5 2013-8-19 13:54:00 車間 11
11 200004 李四 5 2013-8-19 17:43:00 車間 4
12 200004 李四 5 2013-8-19 18:35:00 車間 5
13 200004 李四 5 2013-8-19 20:10:00 車間 6
14 200004 李四 5 2013-8-19 20:20:00 車間 0
表格设计:
ID int 4
StaffID varchar 12
Staff varchar 20
week int 4
workday datetime 8
worktime datetime 8
Department varchar 20
Jude varchar 2
一维转二维代码:
declare @sql varchar(8000)
set @sql='select StaffID,Staff,Convert(Varchar(10),workday,120),Convert(Varchar(10),worktime,108)'
select @sql=@sql+',['+dd+']=max(case Jude when '''+dd+''' then Convert(Varchar(10),worktime,108) else 0 end)'
from (select distinct dd=Jude from Attendance) ss
set @sql=@sql+' from Attendance group by StaffID,Staff,Convert(Varchar(10),workday,120),Convert(Varchar(10),worktime,108)'
exec(@sql)
Syntax error converting the varchar value '07:30:00' to a column of data type int.
执行后错误:
Syntax error converting the varchar value '07:30:00' to a column of data type int.
打印该语句如下: