删除名称中带破折号的表格

Yul*_*a V 2 t-sql sql-server

我需要删除名称具有模式'% - % - % - % - %'的所有表.我发现到目前为止最好的方法是分2步完成:

  1. 通过调用以下请求生成删除请求

    SELECT'DROP TABLE'+ REPLACE(TABLE_NAME,' - ',NCHAR(8211))FROM information_schema.tables其中TABLE_NAME喜欢'% - % - % - % - %'ORDER BY TABLE_NAME

  2. 运行删除请求.

不幸的是,第2步不起作用.即使我REPLACE(TABLE_NAME, '-', NCHAR(8211)),我仍然得到Msg 102, Level 15, State 1, Line 1 Incorrect syntax near '0'.等等; 0因为第一行删除请求是消息中的appreas DROP TABLE 0df78d48–c718–49be–ab55–5f158ebdd64c–results.

你能帮忙吗?谢谢!

小智 5

在表名周围放置方括号应该可以得到您想要的结果.

例:

DROP TABLE [0df78d48–c718–49be–ab55–5f158ebdd64c–results]
Run Code Online (Sandbox Code Playgroud)