cancel
Showing results for 
Search instead for 
Did you mean: 

Table name in SQL select snap

Siva_Venna
Contributor

Hi, I have few tables on SQL server like
abc_2020
abc_2019
abc_2018
I want to query the the table that has suffix as current year. I have specified the value
in the settings > table name-- ‘abc_’+ Date.now().getFullYear()
it’s throwing error.
Failure: Failed to retrieve metadata for table: “‘abc_’+Date”.“now()”.“getFullYear()”, Reason: Database ‘now()’ does not exist. Make sure that the name is entered correctly., Resolution: Database ‘now()’ does not exist. Make sure that the name is entered correctly.

When I hard-code the table name as abc_2020 it is working.
Can someone help me with this ?

17 REPLIES 17

dmiller
Former Employee

I checked with Development and it looks like there is an error here already being investigated.
We’ll update this thread when it is addressed.


Diane Miller

jcampion
New Contributor III

For now, you could use an upstream mapper snap to generate the table name, and then just use it, e.g. $tableName, from the SQL Select snap.

Thanks @Spiro_Taleski @jcampion
For now I have used mapper snap and it worked.
In the mapper I have created(tablename+year) - abc_Date.now().getFullYear() - $tablename
Instead, if I create only date part as variable Date.now().getFullYear() - $year How to pass this in table name filed in Select snap?
Table name = ‘abc_’+$year ?

jcampion
New Contributor III

Hi @Siva_Venna,
I think that would work. It seems like there’s a bug in the SQL snap’s expression evaluation where it’s choking on Date.now(), but if you already have the $year field I would think you can use ‘abc_’ + $year to get the tablename. Give it a try!

  • Judy

I gave a try it did not work. Hope the fix will resolve the issue.