CREATE   proc Lists 
@Page int=1, 
@PageSize int=10, 
@Times varchar(200), 
@UID int=0, 
@PageCount int output, 
@RecordCount int output 
AS 
set nocount on 
declare @Total int 
declare @strSQL nvarchar(4000) 
select @Total=count(*) from Main
set @RecordCount=@Total 
SET @PageCount = CEILING(CAST(@Total AS float)/@PageSize) --获取总页数 
if @Page<1 
  set @Page=1 
if @Total<>0 
begin 
if @Page>@pageCOUNT 
  set @Page=@pageCOUNT 
endSET @strSQL='SELECT TOP 10 ID from Main a where typeing=1 and ((a.state = 0) or (exists(select * from Users b where b.UserID='+CAST(@UID AS varchar)+' and exists(select * from UserList where ID = a.ID and Name = b.Business and =2))) or (exists(select * from Users b where b.UserID='+CAST(@UID AS varchar)+' and exists(select * from UserList where ID = a.ID and Name = b.Station and =3))) or (exists(select * from Users b where b.UserID='+CAST(@UID AS varchar)+' and exists(select * from UserList where ID = a.ID and ID = b.StructureID and =1)))) and ((StartTime<="'+CAST(CONVERT(varchar(50),GETDATE(),120) AS VARCHAR)+'" and EndTime>="'+CAST(CONVERT(varchar(50),GETDATE(),120) AS VARCHAR)+'"))'
exec(@strSQL)GO就是这行报错
CAST(CONVERT(varchar(50),GETDATE(),120) AS VARCHAR)
运行后提示
列名 '2006-08-31 15:23:18' 无效。
在线求解~~!