0

我们有一个非常旧的数据库表,用于折扣代码。

现在我们有名为 discountValue 和 discountPercent 的列

当用户创建凭证代码时,如果是价值金额,则该值存储在价值列中,如果是百分比值,则该值存储在百分比列中。

我们现在正在使用 MSSQL 2012,并且刚刚意识到这个问题,因为它使 UI 看起来很尴尬。

SQL 中有没有一种方法可以让 MSSQLServer 查询数据库并在输出中为一列别名,以检测其中一列是否为空,它将使用将值存储在我们可以用来输出给用户的 1 列中?

我想这有点像条件语句......但我不确定如何在 MSSQL 中写这样的东西?

提前致谢

4

2 回答 2

2

您可以使用ISNULLCOALESCE

SELECT ISNULL(column1, column2) AS some_column
FROM SomeTable
于 2013-11-09T02:26:56.803 回答
1

使用COALESCE()功能:

SELECT COALESCE(discountValue, discountPercent) as Discount
FROM Table

在此处查看链接

于 2013-11-09T02:26:17.280 回答