同事说自定义函数可以返回两个值,但搜了一下没找到对应的方法。还请坛友帮忙。比如我的代码:
ALTER FUNCTION [dbo].insert_coord1
(@startnum INT, @startx FLOAT, @starty FLOAT, @endnum INT, @endx FLOAT, @endy FLOAT)
RETURNS FLOAT
AS
BEGIN
-- routine body goes here, e.g.
-- SELECT 'Navicat for SQL Server'
SET @startnum = 1
SET @startx = 128.384729
SET @starty = 83.845837
SET @endnum = 51
SET @endx = 139.847212
SET @endy = 85.843872
RETURN @startx -- 此处如何能返回两个值
END
------解决方案--------------------
要么返回单个值
要么返回个表
如果不想返回表
就用sp output吧
------解决方案--------------------
把两个值 组成一个字符串 返回不就行了。
------解决方案--------------------
创建一个变量 将你要返回的两个值用特殊的字符 比如+
------解决方案--------------------
等等组合 这样就只要返回一个值
读出来的时候就根据你组合的规则 分割成两个字符串
------解决方案--------------------
函数自身提供两个返回类型:单个值和单个表,前者为标题值函数,后者为表值函数。
前者只能返回单个值,可以在任何能使用列的地方使用。
后者返回单个表,可以在任何能使用表的地方使用。
没有能返回两个值的标题值函数或返回两个表的表值函数