不知错在何处?

sunbaoguo 2004-05-08 08:38:01
我编了这样一个函数,可是总有错,我实在不知错在何处?
create function getmessageid()
--2004-05-08
--get the id of message
returns char(11)
as
begin
declare @id int,@idofmessage char(11)
--得到左侧的基本位编码
set @idofmessage=right('0000'+cast(year(getdate()) as varchar),4)+right('000'+cast(month(getdate()) as varchar),2)+right('000'+cast(day(getdate()) as varchar),2)
--数列数
select @id=count(idofmessage) from message
where year(dateofget)=year(getdate()) and month(dateofget)=month(getdate()) and day(dateofget)=day(getdate())
--赋值
if @id=0
begin
set @idofmessage=@idofmessage+'001'
end
else
begin
set @idofmessage=@idofmessage+right('0000'+cast(@id+1 as varchar),3)
end

return(@idofmessage)

end

服务器: 消息 443,级别 16,状态 1,过程 getmessageid,行 10
在函数内不正确地使用了 'getdate'。
服务器: 消息 443,级别 16,状态 1,过程 getmessageid,行 13
在函数内不正确地使用了 'getdate'。


好痛苦,这样一个简单的函数就是挑不出错在哪?
...全文
21 4 点赞 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
smalldeer 2004-05-08

create view vGetdate
as
select getdate() as today

使用

select convert(varchar(8),today,112 )from vGetdate
  • 打赏
  • 举报
回复
sunbaoguo 2004-05-08
Thank you very much.
I'll try to use the other ways.
But how about the other Functions?
  • 打赏
  • 举报
回复
DontWorry 2004-05-08
Can't Using getDate() method In Function.
  • 打赏
  • 举报
回复
sunbaoguo 2004-05-08
up
  • 打赏
  • 举报
回复
相关推荐
发帖
疑难问题
加入

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2004-05-08 08:38
社区公告
暂无公告