根据具有可变年份的日期制作新列

时间:2019-02-13 13:44:51

标签: sql postgresql

正如话题所说,所有这些都应适用于年份可变的日期。

我想创建一个新列(例如,称为which_part),说明日期(在这种情况下,日期位于“ sil.sales_invoice_date ”中)在1月1日到6月30日之间-应该说H1(一半),否则应该是H2(7月1日至年底之间)。

我尝试使用 convert

做类似的事情
SELECT
sil.sales_invoice_date AS "Distributor Invoice Date",
CONVERT(sil.sales_invoice_date, @year + '-01-01') AS [start year],
CONVERT(sil.sales_invoice_date, @year + '-06-30') AS [end year],

这根本不起作用,我不能在那里写 [半年]

我也尝试使用

case sil.sales_invoice_date between 

但是我真的不知道如何格式化它以适应可变年份。

1 个答案:

答案 0 :(得分:0)

如果日期格式为dd.mm.yyyy 试试这个

Case when substr(sil.sales_invoice_date,1,5) between '01.01' and '30.06' then 'H1'
else 'H2'
end as which_part;