What does the SQL # symbol mean and how is it used?

Can someone please explain to me what the # symbol means in MS SQL Code.

I've tried Googling it, and even searching on StackOverflow, but can't seem to find the answer.

I feel like an idiot - having one of "those" days. Please help.


Solution 1:

They normally prefix temporary tables.

From the docs....

Prefix local temporary table names with single number sign (#table_name), and prefix global temporary table names with a double number sign (##table_name).

Solution 2:

The pound sign # is used to prefix temporary tables and procedures. A single instance (#) refers to a temporary object that lives/dies with the current session while a double instance (##) is a global object.

Solution 3:

The other answers are correct if you're dealing with SQL Server, and it's clear that you are. But since the question title just says SQL, I should mention that there are some forms of SQL such as MySQL where a pound sign is used as an alternative commenting symbol.

#This is a comment.

https://dev.mysql.com/doc/refman/5.7/en/comments.html