[骚年,又来了] SQL 标值函数问题
- SQL code
ALTER FUNCTION [dbo].[f_strAddr](@Oid VARCHAR)RETURNS varchar(8000)ASBEGIN DECLARE @str VARCHAR(8000) SET @str='' SELECT @str=@str+' '+B.COL1 FROM ( SELECT (cast(SUM(A.NUM)AS varchar)+'*'+A.SKU_CODE+'<'+A.PACKING_STANDARD+'>') AS COL1 FROM( SELECT TETP.Oid,SPM.SKU_CODE,SV.PACKING_STANDARD,TETP.NUM*SPM.SKU_QTY AS NUM FROM tEBay_TradeProduct tetp JOIN SKU_PRODUCT_MTM spm ON TETP.SKU=SPM.PRODUCT_CODE JOIN sku_vtzero sv ON SPM.SKU_CODE=SV.CODE WHERE OID=@Oid ) A GROUP BY A.Oid,A.SKU_CODE,A.PACKING_STANDARD ) B --SELECT @str=@str+' '+SKU_CODE FROM TMP t RETURN @str END
执行效果,调用函数咋返回 “受影响函数”,而单独执行那段代码就是OK 的:
[解决办法]
ALTER FUNCTION [dbo].[f_strAddr](@Oid VARCHAR(100)) ---指定下长度再测下看看
RETURNS varchar(8000)
AS
[解决办法]
不写长度,默认为1