Macro using dates for SQL

ecdbert
ecdbert New Altair Community Member
edited November 5 in Community Q&A
Hi:
I'm trying to use a macro with date in an SQL statement but I'm getting an error from the SQL side. Here is part of the SQL statement: 
Declare @fDate date, @tdate date , @processingdate date, @lag int =%{lag}
SET @fDate =%{themonth}

error message is "Operand type clash: int is incompatible with date."

How do I resolve this?

Best Answer

  • ecdbert
    ecdbert New Altair Community Member
    Answer ✓
    UPDATE: I've resolved this by using 'concat' to add single quotes before and after the macro value in a 'Generate Macro' operator.

Answers

  • ecdbert
    ecdbert New Altair Community Member
    Answer ✓
    UPDATE: I've resolved this by using 'concat' to add single quotes before and after the macro value in a 'Generate Macro' operator.
  • BalazsBaranyRM
    BalazsBaranyRM New Altair Community Member
    Hi,

    that's a way to do it.

    You can also add the single quotes inside the SQL string if you are not using the prepare functionality.

    To make sure that you're not adding SQL injection vulnerabilities, you should use the "prepare statement" setting and enter your variable parameters in the form. Then RapidMiner will care for the correct quoting.

    Regards,
    Balázs