需要将mysql转换为SQL

时间:2019-09-12 22:18:04

标签: mysql sql

我有一些代码需要从MYSQL转换为SQL。我已尽力将其转换,但SSMS不喜欢它。我有一条select语句,我需要将生成的列“ COI STATUS”作为最后一列。

Declare @test varchar(200)
SET @test = '9-12-2019'
IIf(@test Between Date()-15 And Date()-1,"Grace Period",
IIf(@test Between Date() And Date()+30,"Going to Expire",IIf(@test>Date()+30,"Active COI",
IIf(@test<Date()-15,"Expired COI","Other")))) AS [COI Status]

如果变量@test在现在以及从现在开始的-15天之内,我需要该单元格说“即将到期”。如果从现在起超过30天,则需要说“有效COI”。如果该日期超过15天,则需要说“过期的COI”。

2 个答案:

答案 0 :(得分:0)

这应该有效。

Declare @test varchar(200)
SET @test = '9-12-2019'
IIf(@test Between Convert(Date, )-15 And Convert(Date, )-1,"Grace Period",
IIf(@test Between Convert(Date, ) And Convert(Date, )+30,"Going to Expire",IIf(@test>Convert(Date, )+30,"Active COI",
IIf(@test<Convert(Date, )-15,"Expired COI","Other")))) AS [COI Status]

答案 1 :(得分:0)

我认为我要寻找一份案情陈述。

`Declare @test DATE
SET @test = '08-20-2019';
Select COMPANY, FIRSTNAME, LASTNAME, EMAIL, PHONENUMBER, COIEXP, STATE, STATUS, 
Case 
 WHEN COIEXP Between GetDate()-1 and GetDate()-15 THEN 'Grace Period'
 WHEN COIEXP Between GetDate() and GetDate()+30 then 'Going to Expire'
 WHEN COIEXP > GetDate()+30 then 'Active COI'
 WHEN COIEXP < GetDate()-15 then 'Expired COI'
 ELSE '' END AS 'COI STATUS'
FROM mytable`