返回一组常量键值对

时间:2018-01-24 16:33:34

标签: sql sql-server tsql sql-server-2017

想象一下,我有类似以下的内容

SELECT 0 AS 'Key','No' AS 'Value'
UNION
SELECT 1 AS 'Key','YES' AS 'Value'
UNION  
SELECT 2 AS 'Key','Maybe' AS 'Value'
....
....

如何使上述语句更具可读性,以便在单个select语句中可以在上面的列表中容纳更多常量键/值对?我不想创建表变量或创建复杂的sql语句。只有一个select语句返回一堆常量键/对值。

3 个答案:

答案 0 :(得分:5)

您可以使用import sys; sys.path.insert(0, r'C:/Users/me/PycharmProjects/inference_engine2/inference2/Proofs')

VALUES

Table Value Constructor

答案 1 :(得分:2)

使用表值构造函数。

VALUES ((0,'NO'),(1,'YES'),(2,'MAYBE'))

答案 2 :(得分:1)

了解您不想创建表变量
我经常使用接受的答案+1
只需指出一个表变量,就可以声明类型和主键

declare @tbl table ([key] tinyint primary key,  [value] varchar(12));
insert into @tbl values (1, 'one')
                      , (2, 'two')
                      , (3, 'three');
select * from @tbl order by [key];