我有以下代码,问题是我的变量列表@LocationList本质上是一个csv字符串。当我将其用作(@LocationList)中whereLocationID的一部分时,它说它不是int(LocationID是int)。我怎样才能使该csv字符串在子句中被接受?
Declare @LocationList varchar(1000)
Set @LocationList = '1,32'
select Locations from table where Where LocationID in (@LocationList)
最有效的方法是使用动态SQL,例如提到rt2800(带有Michael Allen的注入警告)
但是,您可以创建一个函数:
ALTER FUNCTION [dbo].[CSVStringsToTable_fn] ( @array VARCHAR(8000) )
RETURNS @Table TABLE ( value VARCHAR(100) )
AS
BEGIN
DECLARE @separator_position INTEGER,
@array_value VARCHAR(8000)
SET @array = @array + ','
WHILE PATINDEX('%,%', @array) <> 0
BEGIN
SELECT @separator_position = PATINDEX('%,%', @array)
SELECT @array_value = LEFT(@array, @separator_position - 1)
INSERT @Table
VALUES ( @array_value )
SELECT @array = STUFF(@array, 1, @separator_position, '')
END
RETURN
END
并从中选择:
DECLARE @LocationList VARCHAR(1000)
SET @LocationList = '1,32'
SELECT Locations
FROM table
WHERE LocationID IN ( SELECT *
FROM dbo.CSVStringsToTable_fn(@LocationList) )
或者
SELECT Locations
FROM table loc
INNER JOIN dbo.CSVStringsToTable_fn(@LocationList) list
ON list.value = loc.LocationID
当您尝试从SSRS向PROC发送多值列表时,这非常有用。
描述 (Description) 我们可以使用由值组成的变量名来定义变量。 Example 以下示例演示了如何使用variable在LESS文件中保存另一个variable - <html> <head> <link rel = "stylesheet" href = "style.css" type = "text/css" /> <title>LESS Varia
描述 (Description) 方法type()返回传递的变量的类型。 如果传递的变量是字典,那么它将返回字典类型。 语法 (Syntax) 以下是type()方法的语法 - type(dict) 参数 (Parameters) dict - 这是字典。 返回值 (Return Value) 此方法返回传递的变量的类型。 例子 (Example) 以下示例显示了type()方法的用法。 #!/
variable-type 一个非常简单的(仅 1 kb)高性能的用于做变量结构校验的 JavaScript 模块。 1. 安装 npm i --save variable-type Then import it. import VT from 'variable-type'; // ES6var VT = require('variable-type'); // ES5 with npm 2.
实现效果 若加载不出来,请看链接。 用 JavaScript 和 CSS3 实现拖动滑块时,实时调整图片的内边距、模糊度、背景颜色,同时标题中 JS 两字的颜色也随图片背景颜色而变化。 涉及特性 :root var(--xxx):CSS 变量(CSS Variables) filter: blur() 事件 change、mousemove 过程指南 CSS 部分准备 声明全局(:root)的 C
Xdebug replaces PHP's var_dump() function for displaying variables. Xdebug's version includes different colors for different types and places limits on the amount of array elements/object properties,
Variable (已弃用) Variable 是早期添加到 RxSwift 的概念,通过 “setting” 和 “getting”, 他可以帮助我们从原先命令式的思维方式,过渡到响应式的思维方式。 但这只是我们一厢情愿的想法。许多开发者滥用 Variable,来构建 重度命令式 系统,而不是 Rx 的 声明式 系统。这对于新手很常见,并且他们无法意识到,这是代码的坏味道。所以在 RxSwift