CREATE FUNCTION SpaceAdd(@Std_Ser varchar(30))
RETURNS varchar(30)
AS
BEGIN
declare @SpaceAdd varchar(30)
declare @StrLen int
declare @i int
set @StrLen=30-Len(@Std_Ser)
set @i=1
while @i<@StrLen
begin
set @SpaceAdd='0' & @SpaceAdd--用while循环
set @i=@i+1
end
return(@SpaceAdd)
end
RETURNS varchar(30)
AS
BEGIN
declare @SpaceAdd varchar(30)
declare @StrLen int
declare @i int
set @StrLen=30-Len(@Std_Ser)
set @i=1
while @i<@StrLen
begin
set @SpaceAdd='0' & @SpaceAdd--用while循环
set @i=@i+1
end
return(@SpaceAdd)
end
解决方案 »
- 设计表和设计视图界面区别
- 如何在SQL Server 2005中查询指定数据表的访问用户或角色及其有效权限?
- 关于exec sp_cursoropen @p1 output,@sql,@scrollopt=1,@ccopt=1,@rowcount=@pagecount output的提问
- 去除重复记录的sql语句,急!
- 100分如何优化以下的SQL语句(有点长),提高查询效率,请高手帮忙修改,谢谢!
- 请问怎么去日期字段的月份【 ?】
- 怎么选择虚拟主机?
- sql2000连接eclipse异常
- 急求sql算法
- SQL2008中如何删除自建数据库中的用户?
- 每一个月的所有物料的最后一次单价的基础上------》在后面要增加其金额总和
- 能不能对表中某些记录加锁?
while @i<=@strlen
begin
set @SpaceAdd='0' & @SpaceAdd
set @i=@i+1
end
RETURNS varchar(30)
AS
BEGIN
declare @SpaceAdd varchar(30)
declare @StrLen int
declare @i int
set @StrLen=30-Len(@Std_Ser)
set @i=1
while @i<@StrLen
-- For @ i=1 to @StrLen
set @SpaceAdd='0' +@SpaceAdd
-- next @i
return(@SpaceAdd)
end
SQLServer里没for...next
declare @ArrSpace() varchar(30) 这样可以吗
RETURNS varchar(30)
AS
BEGIN
declare @SpaceAdd varchar(30)
declare @StrLen int
declare @i int
set @StrLen=30-Len(@Std_Ser)
set @i=1
while @i<=@StrLen
-- For @ i=1 to @StrLen
set @SpaceAdd='0' +@SpaceAdd
set @i=@i+1
-- next @i
return(@SpaceAdd)
end
我上面写错了
CREATE FUNCTION SpaceAdd(@Std_Ser varchar(30))
RETURNS varchar(30)
AS
BEGIN
declare @SpaceAdd varchar(30)
declare @StrLen int
declare @i int
set @StrLen=30-Len(@Std_Ser)
set @i=1
while @i <@StrLen
begin
set @SpaceAdd='0' + @SpaceAdd
set @i=@i+1
end
return(@SpaceAdd)
end然后SELECT dbo.SpaceAdd(a) AS Expr1
FROM bzzz
Expr1都是Nullwhy
RETURNS varchar(30)
AS
BEGIN
declare @SpaceAdd varchar(30)
declare @StrLen int
declare @i int
set @SpaceAdd=ltrim(rtrim(@Std_Ser))--加上这句来初始化字符串
set @StrLen=30-Len(@Std_Ser)
set @i=1
while @i <@StrLen
begin
set @SpaceAdd='0' + @SpaceAdd
set @i=@i+1
end
return(@SpaceAdd)
end
RETURNS varchar(30)
AS
BEGIN
declare @SpaceAdd varchar(30)
declare @StrLen int
declare @i int
set @StrLen=30-Len(@Std_Ser)
set @i=1
set @SpaceAdd='' ----初始化一下
while @i <@StrLen
begin
set @SpaceAdd='0' + @SpaceAdd
set @i=@i+1
end
return(@SpaceAdd)
end