查询选择所有没有大写字母名称的表名
答
@ GBN的答案是纠正任何最新版本的SQL Server。
为2000:
SELECT * FROM
sysobjects
WHERE
UPPER(name) COLLATE Latin1_General_BIN <> name COLLATE Latin1_General_BIN
AND OBJECTPROPERTY(ID,N'IsTable')=1 and OBJECTPROPERTY(ID,N'IsMSShipped')=0
答
SELECT * FROM
sys.tables -- or local equivalent. This is for SQL Server
WHERE
UPPER(name) COLLATE Latin1_General_BIN <> name COLLATE Latin1_General_BIN
+0
呃,那很聪明:) – 2010-11-25 11:52:52
答
表名称可能是区分大小写的,但是,这并不意味着你不能回表的名称未大写:
SELECT name
FROM sys.tables
WHERE (name <> UPPER(name))
答
SELECT name
FROM sys.tables
WHERE name <> UPPER(name) COLLATE Latin1_General_BIN
答
SELECT name
FROM sys.tables
WHERE CAST(name as varbinary) <> CAST(UPPER(name) as varbinary)
您正在使用什么样的数据库? – 2010-11-25 11:44:18
请参阅http://*.com/questions/153944/is-sql-syntax-case-sensitive – robert 2010-11-25 11:45:31
你如何区分“ThisTable”,“THISTABLE”和“thistable”。最好在数据库表和字段中不要区分大小写。 – cflute 2010-11-25 11:53:27