Sql 当>;在WHEN子句中使用
当我在when子句中没有“>”符号时,此查询运行正常,但当提议日期晚于“2017-04-10 00:00:00.000”时,我需要此查询。不确定为什么在将>添加到when子句时出现语法错误Sql 当>;在WHEN子句中使用,sql,Sql,当我在when子句中没有“>”符号时,此查询运行正常,但当提议日期晚于“2017-04-10 00:00:00.000”时,我需要此查询。不确定为什么在将>添加到when子句时出现语法错误 SELECT *, CASE ProposalDate WHEN > '2017-04-10 00:00:00.000' THEN (OrderTotal - ProposalWholesalePrice) + (ProposalWholesalePri
SELECT *,
CASE ProposalDate WHEN > '2017-04-10 00:00:00.000'
THEN (OrderTotal - ProposalWholesalePrice) +
(ProposalWholesalePrice * 1.02)
ELSE OrderTotal
END "New_OrderTotal"
FROM webservices.dbo.DT_Open_Orders_Baseprice
WHERE ProposalSerialNumber = '639036'
SQL
CASE
表达式:
- 简单的
表达式,以及CASE
- 搜索的
大小写
表达式
案例
,即当…不能与比较运算符一起使用时,案例建议日期;您需要搜索的案例
:
SELECT
*
, CASE
WHEN ProposalDate > '2017-04-10 00:00:00.000'
THEN (OrderTotal - ProposalWholesalePrice) + (ProposalWholesalePrice * 1.02)
ELSE OrderTotal
END "New_OrderTotal"
FROM webservices.dbo.DT_Open_Orders_Baseprice
WHERE ProposalSerialNumber = '639036'
你有没有试过在列名前加上“WHEN”?
例如:
SELECT *, CASE WHEN ProposalDate > '2017-04-10 00:00:00.000'
THEN (OrderTotal - ProposalWholesalePrice) + (ProposalWholesalePrice * 1.02) ELSE OrderTotal
END "New_OrderTotal" FROM webservices.dbo.DT_Open_Orders_Baseprice WHERE ProposalSerialNumber = '639036'
简写的case
语法不使用任何运算符,只使用=
条件计算的一系列值。如果要使用其他运算符,则必须使用完整的大小写
语法:
SELECT *,
CASE WHEN ProposalDate > '2017-04-10 00:00:00.000'
THEN (OrderTotal - ProposalWholesalePrice) +
(ProposalWholesalePrice * 1.02)
ELSE OrderTotal
END "New_OrderTotal"
FROM webservices.dbo.DT_Open_Orders_Baseprice
WHERE ProposalSerialNumber = '639036'
Case when x>y then
或Case x when y then
。您使用的是哪个数据库?