返回SQL结果集时是否可以创建新列?

Jam*_*mes 1 sql sql-server stored-procedures

我有一个包含TEXT列和DATETIME列的SQL Server表.

我正在尝试编写一个存储过程,它将返回TEXT列和BIT(0或1),具体取决于日期/时间是否小于当前时间戳.

有谁知道正确的语法?我试过以下,但没有运气.

SELECT ticket, (ticketExpires < getDate()) 
FROM Authentication 
WHERE accountID = @id
Run Code Online (Sandbox Code Playgroud)

任何建议赞赏!

谢谢.

Yuc*_*uck 6

是的,使用CASE表达式:

SELECT ticket,
  CONVERT(Bit, CASE WHEN (TicketExpires < getDate())
    THEN 0
    ELSE 1
  END) IsExpired
FROM Authentication
WHERE accountID = @id;
Run Code Online (Sandbox Code Playgroud)

您将根据是否正在查找指示IsExpired或的值来更改返回值IsValid.