sql - 链接表值函数参数 (SQL Server)
问题描述
我需要创建一个带有单个参数的 SQL Server TVF,然后使用该参数来构建其他所需的参数。这甚至可能吗?
该错误指出“LEFT”附近的语法不正确。下面的简单表示。
CREATE FUNCTION TESTFUNCTION
(
-- Add the parameters for the function here
@PRM1 VARCHAR(2) = 'ABC',
@PRM2 VARCHAR(1) = LEFT(@PRM1,1)
)
RETURNS TABLE
AS
RETURN
(
-- Add the SELECT statement with parameter references here
SELECT @PRM2
)
GO
谢谢你!
解决方案
在问题中进行编辑之前:
您只需要一个参数:
SELECT @PRM2 = LEFT(@PRM1, 1);
但是,您需要缩放函数而不是表值函数:
CREATE FUNCTION TESTFUNCTION
(
-- Add the parameters for the function here
@PRM1 VARCHAR(2) = 'ABC'
)
RETURNS VARCHAR(255)
AS
BEGIN
DECLARE @PRM2 VARCHAR(255)
SET @PRM2 = LEFT(@PRM1, 1)
RETURNS (@PRM2)
END
注意:您@PRM1
将只接受两个字符AB
。所以,定义适当的长度。
推荐阅读
- node.js - express和vue js连接时,访问默认地址
- unity3d - 错误总是出现,无法摆脱它(据我所知)
- sphinx - Sphinx 搜索:未正确索引的多词词形式
- powershell - 我可以通过将命令推送到历史记录中的方式调用 powershell 吗?
- javascript - 正则表达式接受带有空格但没有特殊字符的名字和姓氏
- javascript - 在 React 功能组件内部的函数中传递状态
- tsql - 如何根据列值是否只有一条记录来过滤 NULL,T-SQL
- npm - 如何从代理后面在 Ubuntu 上安装 electronjs?
- python - 如何将列表保存到 Excel 电子表格?
- python - 在 Python 中使用 Dropbox API 访问共享链接和下载图像的问题