列名(和表名)中不应包含空格或任何其他无效字符。这被认为是不好的做法,因为它要求您在姓名周围使用方括号。方括号使代码更难阅读和理解。查询(如下所示)还将突出显示名称中带有数字的列和表。大多数时候,当列名中有一个数字时,它代表一个非规范化的数据库。此规则有例外,因此并非所有出现的此问题都需要修复。
我决定修改下面的代码。我认识到一些组织允许(甚至可能鼓励这样做)使用下划线字符。在下面新修改的代码中,您可以包含可接受符号的列表。下面的代码允许使用下划线符号和 $ 符号。修改此局部变量以包含组织内可接受的任何符号。
如何检测此问题:
SELECT TABLE_SCHEMA + '.' + TABLE_NAME + '.' + COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME COLLATE Chinese_PRC_CI_AS LIKE '%