I have no idea what the convert() parts are supposed to do, but I am trying to guess(!) what the intention to_char() (that can't be valid SQL Server code) is trying to achieve.
As documented in the manual to_char() needs two arguments: the value to be formatted (e.g. a date or timestamp value) and the "format mask".
To extract the year as a string from a date (or timestamp) value and append the letter Y use:
to_char("date", 'YYYY"Y"')
e.g. to_char(current_date, 'YYYY"Y"') returns '2021Y'. Alternatively use `to_char("date", 'YYYY')||'Y'
The format mask to get the quarter is 'Q' and 'MM' for the month. So to get a string with a date's quarter use to_char("date", 'Q').
To extract the month as a number, use the extract() function, e.g. extract(month from some_date) / 3
To extract the year use extract(year from some_date)
CONVERT(tinyint,CASE WHEN column_a IS NOT NULL THEN 0 END) looks like you just want a flag if the column is null. This can be e.g. written as column_a is null which will return a boolean value with true or false (slightly different than you original expression that returned null if the column is null). If you really prefer numbers instead of booleans use case when column_a is not null then 0 end. I don't exactly know what that convert() function is doing, but you really don't like booleans or integers to be used as a flag, then maybe you want to cast that to a smallint: cast(case when column_a is not null then 0 end as smallint)
TO_CHAR(TO_CHAR(YEAR(Date))||'Y')doesn't look at all like T-SQLcast()in Postgres.to_char()in SQL Server. AndTO_CHAR(TO_CHAR(YEAR(Date))||'Y')makes no sense to begin with and SQL Sever doesn't use the standard||concatenation operator - so that can't be your SQL Server code. But ifDateis a column with the data typedatethen I guess(!) you might be looking forto_char("date", 'YYYY"Y"')in Postgres.