22,206
社区成员
发帖
与我相关
我的任务
分享
alter FUNCTION [dbo].[isInteger](@Param1 varchar(80))
RETURNS int
AS
begin
declare @returnInt int
set @returnInt=0
if isnumeric(@Param1)=1
if floor(@Param1)=@Param1
set @returnInt=1
return @returnInt
END
select dbo.isInteger('aaa')
create FUNCTION [dbo].[isInteger]
(
@Param1 varchar(80)
)
RETURNS int
AS
begin
declare @returnInt int
if isnumeric(@Param1)=1
begin
if floor(@Param1)=@Param1
set @returnInt=1
end
else
set @returnInt=0
return @returnInt
END
select [dbo].[isInteger]('a')
/*
-----------
0
(1 行受影响)
*/
select [dbo].[isInteger]('80')
/*
-----------
1
(1 行受影响)
*/
create FUNCTION [dbo].[isInteger]
(
@Param1 varchar(80)
)
RETURNS int
AS
begin
declare @returnInt int
if isnumeric(@Param1)=1 and floor(@Param1)=@Param1
set @returnInt=1
else
set @returnInt=0
return @returnInt
END
下列语句在函数内有效:
赋值语句。
TRY...CATCH 语句以外的流控制语句。
定义局部数据变量和局部游标的 DECLARE 语句。
SELECT 语句,其中的选择列表包含为局部变量分配值的表达式。
游标操作,该操作引用在函数中声明、打开、关闭和释放的局部游标。只允许使用以 INTO 子句向局部变量赋值的 FETCH 语句;不允许使用将数据返回到客户端的 FETCH 语句。
修改 table 局部变量的 INSERT、UPDATE 和 DELETE 语句。
调用扩展存储过程的 EXECUTE 语句。