0

是否可以按名称计算表中的列数?

例如

SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN LIKE '%name%'
AND table_schema = 'DB_NAME' AND table_name = 'TABLE_NAME'

我有一个表,它为用户添加的自定义字段添加列到表中,我需要计算添加的列以在 while 循环中使用结果

4

3 回答 3

2

是的,这是可能的。您有可能需要使用COLUMN_NAMEWHERE来代替COLUMN- 至少,它在MySQL Docs中是这样列出的:

SELECT COUNT(*) 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE COLUMN_NAME LIKE '%name%'
   AND table_schema = 'DB_NAME'
   AND table_name = 'TABLE_NAME'
于 2013-08-07T19:34:50.897 回答
0

在您的查询LIKE

放置LIKE %'name'%LIKE '%name%'

于 2013-08-07T19:38:31.890 回答
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

这将在数​​据库中工作。

于 2018-01-18T15:49:32.037 回答