sql случай когда в питоне - PullRequest
0 голосов
/ 28 ноября 2018

как написать это на python:

Это мой пример кода:

set "Full_Year_Goal" =
case
    when ("Start_Date" = '2014-07-27' or "Start_Date" = '2014-07-27') and "End_Date" = '2015-07-25' then 'Y'
    when ("Start_Date" = '2015-07-26' or "Start_Date" = '2015-07-27') and "End_Date" = '2016-07-30' then 'Y'
    when ("Start_Date" = '2016-07-31') and "End_Date" = '2017-07-29' then 'Y'
    when ("Start_Date" = '2017-07-30' or "Start_Date" = '2017-07-31') and "End_Date" = '2018-07-28' then 'Y'
    else 'N' end 

Ответы [ 2 ]

0 голосов
/ 28 ноября 2018

Вы можете иметь такую ​​функцию:

def myfunc(Start_Date,End_Date):
    Full_Year_Goal = None
    if (Start_Date == '2014-07-27' or Start_Date == '2014-07-27') and End_Date == '2015-07-25':
        Full_Year_Goal = 'Y'
    elif (Start_Date == '2015-07-26' or Start_Date == '2015-07-27') and End_Date == '2016-07-30':
        Full_Year_Goal = 'Y'
    elif (Start_Date == '2016-07-31' and End_Date == '2017-07-29'):
        Full_Year_Goal = 'Y'
    elif (Start_Date == '2017-07-30' or Start_Date == '2017-07-31') and End_Date == '2018-07-28':
        Full_Year_Goal = 'Y'
    else:
        Full_Year_Goal = 'N'
    return Full_Year_Goal

Затем вызывать ее как:

Full_Year_Goal = my_func('2014-06-27', '2014-08-25')
0 голосов
/ 28 ноября 2018

Вот и мы:

def getLetter(startDate, endDate):

    if startDate == 'something' && endDate == 'something2':
        return "Y"
    elif startDate == 'somethingElse' && endDate == 'something2':
        return "N"
    else:
        return None

fullYearGoal = getLetter("2014", "2015")
...