你这个存储过程没有仔细看,不过你可以参考一下sql server的帮助文档哦,如下:---------
--使用带有默认通佩符参数的简单存储过程
use pubs
if exists (select name from sysobjects where name='au_info2' and type='P')
drop procedure au_info2
gocreate procedure au_info2
@lastname varchar(40) = 'd%',
@firstname varchar(20) = '%'
as
select au_lname, au_fname, title, pub_name
from authors a inner join titleauthor ta
on a.au_id = ta.au_id inner join titles t
on t.title_id = ta.title_id inner join publishers p
on t.pub_id = p.pub_id
where au_fname like @firstname and au_lname like @lastname
go
--使用带有默认通佩符参数的简单存储过程
use pubs
if exists (select name from sysobjects where name='au_info2' and type='P')
drop procedure au_info2
gocreate procedure au_info2
@lastname varchar(40) = 'd%',
@firstname varchar(20) = '%'
as
select au_lname, au_fname, title, pub_name
from authors a inner join titleauthor ta
on a.au_id = ta.au_id inner join titles t
on t.title_id = ta.title_id inner join publishers p
on t.pub_id = p.pub_id
where au_fname like @firstname and au_lname like @lastname
go
-- declare @jg decimal(8,2)
-- declare @jgl varcher(20)
@jg和@jg1类型不一致
这样应该可以的:
set @jg1 = '%' + convert(varchar(10), @jg/@cs*100) + '%'
from authors a inner join titleauthor ta
on a.au_id = ta.au_id inner join titles t
on t.title_id = ta.title_id inner join publishers p
on t.pub_id = p.pub_id
where au_fname like '''+@firstname+''' and au_lname like '''+@lastname+'''exec (@sql)
set @jg1 = '''%' + convert(varchar(10), @jg/@cs*100) + '%'''
两边还要加多两个'号;)
我這樣都可以呀
select a=convert(varchar,convert(decimal(10,2),0.78659*100))+'%'