很烦恼这个简单的查询...
如果一个变量是数字,我需要给它加上偏移量,否则就不做任何处理。
为此,我在SQL Server中创建了以下函数。 然后通过以下方法提取答案:
Msg 207, Level 16, State 1, Line 1 Invalid column name '100'.
该函数的代码如下...
“怎么了?没有说明IsNumeric不接受变量。”
如果一个变量是数字,我需要给它加上偏移量,否则就不做任何处理。
为此,我在SQL Server中创建了以下函数。 然后通过以下方法提取答案:
select dbo.OffsetKPL("100",200)
但是这并不起作用,我收到错误信息:Msg 207, Level 16, State 1, Line 1 Invalid column name '100'.
该函数的代码如下...
ALTER FUNCTION [dbo].[OffsetKPL](
@kpl varchar(20)
,@offset int = 0
)
RETURNS varchar(20)
AS
BEGIN
DECLARE @uitkomst varchar(20);
set @uitkomst = @kpl;
if not(@offset = 0) begin
if (IsNumeric(@uitkomst) = 1) begin
set @uitkomst = cast((cast(@kpl as int) + @offset) as varchar);
end;
end;
RETURN @uitkomst;
END
“怎么了?没有说明IsNumeric不接受变量。”