datetime复制给另一个datetime无效的情况

zhengfujie 2010-08-06 10:30:19


set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go


ALTER proc [dbo].[TZ_Statistics_Proc_User]
@starttime datetime, 开始时间
@endtime datetime, [code=C#] 结束时间

@type nvarchar(4),
@where varchar(300),
@id varchar(23)
as
begin
declare @sql varchar(8000),@w varchar(1000),@g varchar(1000)
declare @registertime datetime
select @registertime = RegisterTime from same where Id = @id
if @starttime > @registertime --如果传入的开始时间大于账号注册时间.就把账号注册时间赋值给@starttime

set @starttime = registertime
print @starttime
if @endtime > getdate()
set @endtime = getdate()
print @endtime
end
[/code]
set @starttime = registertime 这一步赋值无效。
而下面的
set @endtime = getdate()
这个复制却有效
为什么?
...全文
132 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
shenhui_163 2010-08-08
  • 打赏
  • 举报
回复
我也遇到了这种情况
还是把他写出来吧
东那个升 2010-08-06
  • 打赏
  • 举报
回复
select
convert(char(21), cast('2010-5-6 3:15:6' as datetime), 120)


---------------------
2010-05-06 03:15:06

(1 行受影响)
「已注销」 2010-08-06
  • 打赏
  • 举报
回复
还想问个
SELECT CONVERT(varchar(100), '2010-5-6 3:15:6', 120)
怎么输出2010-05-06 03:15:06 这种格式啊

就是小于10的前面加个0
htl258_Tony 2010-08-06
  • 打赏
  • 举报
回复
ALTER PROC [dbo].[TZ_Statistics_Proc_User] 
@starttime DATETIME, --开始时间
@endtime DATETIME, --结束时间
@type NVARCHAR(4),
@where VARCHAR(300),
@id VARCHAR(23)
AS
BEGIN
DECLARE @sql VARCHAR(8000), @w VARCHAR(1000), @g VARCHAR(1000)
DECLARE @registertime DATETIME
SELECT @registertime = RegisterTime
FROM same
WHERE Id = @id
IF @starttime>@registertime
--如果传入的开始时间大于账号注册时间.就把账号注册时间赋值给@starttime

SET @starttime = @registertime
PRINT @starttime
IF @endtime>GETDATE()
SET @endtime = GETDATE()
PRINT @endtime
END
SET @starttime = @registertime
SET @endtime = GETDATE()
PRINT @starttime
PRINT @endtime
「已注销」 2010-08-06
  • 打赏
  • 举报
回复
哦。天。
我查出来了。
if @starttime > @registertime
应该改成
if @starttime < @registertime

这样就可以了

原来我if下有2条SQL语句,没用begin end 所以print一直可以打印出来。原来是没进if里面
我晕了。
OK
htl258_Tony 2010-08-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ldslove 的回复:]
set @starttime = @registertime
[/Quote]

同意,少了变量符号。
「已注销」 2010-08-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ldslove 的回复:]
set @starttime = @registertime
[/Quote]
这个我忘记加了。
刚才复制过来。我去了部分代码。
所以去多了。

加上也一样的。
王向飞 2010-08-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ldslove 的回复:]
set @starttime = @registertime
[/Quote]UP
东那个升 2010-08-06
  • 打赏
  • 举报
回复
set @starttime = @registertime

34,872

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧