nakul
nakul

Reputation: 533

how to use string variable value as a parameter in sql function

SELECT NRL_FREQUENCY_NO,NRL_FREQUENCY_TERM into frequency_no,frequency_term 
       from notification_rule 
       WHERE NRL_ID=nrl_id;

SELECT TIMESTAMPADD(frequency_term,frequency_no,nrl_fire_date) into nrl_next_fire_date;

suppose frequency_term='Month' then TIMESTAMPADD must use parameter frequency_term as a month

Upvotes: 0

Views: 95

Answers (1)

Devart
Devart

Reputation: 121952

You need to use prepared statements, for example -

SET @frequency_term = 'DAY';
SET @frequency_no = 1;
SET @nrl_fire_date = '2013-11-15';

SET @query = CONCAT('SELECT TIMESTAMPADD(', @frequency_term, ', ', @frequency_no, ', ''', @nrl_fire_date, ''') INTO @nrl_next_fire_date');

PREPARE stmt FROM @query;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

SELECT @nrl_next_fire_date;

+---------------------+
| @nrl_next_fire_date |
+---------------------+
| 2013-11-16          |
+---------------------+

Upvotes: 1

Related Questions