2 回答
TA贡献1816条经验 获得超4个赞
我设法写了一些有用的东西,并根据您的输入将空字符串和默认值替换为超出范围的数字。这是最终代码:
DECLARE @defaultPersons int = 2;
@forDecisionTreeHouseTypeReplNulls =
SELECT [InstallationId],
[Persons],
(
(Func<string, int?>)
(inputString => // input_parameter
{
int _pers;
return ! int.TryParse([Persons], out _pers) || _pers <= 0 ?
@defaultPersons :
_pers > 10 ?
10 :
_pers;
}
)
) ([Persons]) AS [AdjPersons]
TA贡献1993条经验 获得超5个赞
TryParse不是您可以直接调用的功能之一。它必须包装为内联函数。一个简单的例子:
@output =
SELECT FirstName,
(
(Func<string, int?>)
(inputString => // input_paramater
{
int outputValue;
return int.TryParse(inputString, out outputValue) ? (int?)outputValue : (int?)null;
}
)
) (Salary) AS someDate
FROM @Employees;
- 2 回答
- 0 关注
- 133 浏览
添加回答
举报