A promptmany macro will return the results separated by a semicolon. SQL knows how to deal with separated values like that in a filter. For example:
[Year] in (#promptmany('UOM','','','','[Database view].[T_DIM_TIME_YEAR].[YEAR]')#)
You wouldn't put '2002';'2003';'2004';'2005' into a query item, but that is what the macro returns. In order to convert it into a string, you can use another macro function SQ.
For example:
case when #sq(promptmany('UOM','','','','[Database view].[T_DIM_TIME_YEAR].[YEAR]'))# contains '2005' then 'YES' else 'NO' end