是否可以按名称计算表格中的列数?
例如
SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN LIKE '%name%'
AND table_schema = 'DB_NAME' AND table_name = 'TABLE_NAME'
我有一个表,用于为用户添加的自定义字段向表中添加列,我需要计算添加的列以在while循环中使用结果
答案 0 :(得分:2)
是的,这是可能的。您有可能需要在COLUMN_NAME
中使用WHERE
代替COLUMN
- 至少,它是MySQL Docs中列出的方式:
SELECT COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME LIKE '%name%'
AND table_schema = 'DB_NAME'
AND table_name = 'TABLE_NAME'
答案 1 :(得分:0)
在您的查询中 LIKE
将LIKE %'name'%
放置为LIKE '%name%'
答案 2 :(得分:0)
这样的事情也可以起作用:
SELECT T.name, COUNT(C.name) FROM sys.tables T
INNER JOIN sys.columns C ON C.object_id = T.object_id
WHERE T.name = ('TableName') and C.name like '%name%'
GROUP BY T.name
这可以在数据库中使用。