SQL如何知道列的数据类型
我使用的是MS Access和MS Sql 2008,我需要获取单个表中特定列的数据类型 您可以发布一个代码示例吗?试试这个:SQL如何知道列的数据类型,sql,sql-server-2008,ms-access,Sql,Sql Server 2008,Ms Access,我使用的是MS Access和MS Sql 2008,我需要获取单个表中特定列的数据类型 您可以发布一个代码示例吗?试试这个: SELECT COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'schema' AND TABLE_NAME = 'tablename'; 试试这个: SELECT COLUMN_NAME, DATA_
SELECT
COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'schema'
AND TABLE_NAME = 'tablename';
试试这个:
SELECT
COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'schema'
AND TABLE_NAME = 'tablename';
也可以使用目录视图:
SELECT sch.name [Schema],
tbl.name [Table],
col.name [Column],
typ.name [Type]
FROM sys.columns col
JOIN sys.tables tbl ON
tbl.object_id = col.object_id
AND tbl.name = 'tableName'
JOIN sys.schemas sch ON
sch.schema_id = tbl.schema_id
AND sch.name = 'schemaName'
JOIN sys.types typ ON
typ.system_type_id = col.system_type_id
也可以使用目录视图:
SELECT sch.name [Schema],
tbl.name [Table],
col.name [Column],
typ.name [Type]
FROM sys.columns col
JOIN sys.tables tbl ON
tbl.object_id = col.object_id
AND tbl.name = 'tableName'
JOIN sys.schemas sch ON
sch.schema_id = tbl.schema_id
AND sch.name = 'schemaName'
JOIN sys.types typ ON
typ.system_type_id = col.system_type_id
我假设您希望以编程方式为MS Access DB获取模式元数据,因为SQL Server还有其他答案。不幸的是,MS Access不提供用于直接查询的
信息\u模式
视图目录(或任何真实模拟),因此您可能必须尝试以下方法之一:
- 在SQL server中创建一个链接到Access数据库的服务器,然后
- 在你的应用程序中使用类似的东西
信息\u模式
视图目录(或任何真实模拟),因此您可能必须尝试以下方法之一:
- 在SQL server中创建一个链接到Access数据库的服务器,然后
- 在你的应用程序中使用类似的东西