【问题标题】:Select columns into an array in SQL Server Stored Procedure在 SQL Server 存储过程中将列选择到数组中
【发布时间】:2013-06-05 13:11:38
【问题描述】:

我的表由多个电话号码列组成,我想为我的存储过程选择多个列(比如电话号码)到一个数组中。我正在尝试使用SELECT,但它只返回一个值,如示例代码所示

DECLARE @phone VARCHAR(15)
    SELECT @phone = phone1 FROM AddressTable
PRINT @phone

现在我想将多个列值的值放入一个变量中。我知道为此我们通常使用数组。但我不确定如何使用。任何帮助...!!!

【问题讨论】:

  • 您只是想将多列连接成一个变量吗? SELECT @phone = phone1 + ', ' + phone2 ...
  • @Vikram 。 . .你实际上想要完成什么?表格格式可能足以解决您的问题。
  • 我正在尝试验证 5 列的电话号码格式。我正在使用 tsqlt。我使用了表格格式,发现它很有帮助。但我需要将这些结果与一个唯一的数字进行比较
  • @Vikram 。 . .为什么您需要一次验证所有号码?一次只需验证一个电话号码。
  • 我需要使用不同的排列进行测试,因此使用唯一的电话号码测试每个测试的所有电话号码列。这将完成 5 个字段的 8 次测试。

标签: sql sql-server tsql stored-procedures


【解决方案1】:

SQL 不支持数组。您可以使用表格变量或逗号分隔的字符串

SELECT INTO a table variable in T-SQL

【讨论】:

  • 您的意思是将所有电话号码附加到一个字符串中?
  • 我会使用 table 变量,但你也可以使用分隔字符串路由......或者 xml 或其他一些“多”值格式
猜你喜欢
  • 1970-01-01
  • 2015-02-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-03
相关资源
最近更新 更多