SQL 获取列类型的SQL语句
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/13405572/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
SQL statement to get column type
提问by daniely
Is there a SQL statement that can return the type of a column in a table?
是否有可以返回表中列类型的 SQL 语句?
回答by Francis P
Using SQL Server:
使用 SQL 服务器:
SELECT DATA_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_NAME = 'yourTableName' AND
COLUMN_NAME = 'yourColumnName'
回答by HackyStack
The easiest way in TSQL is:
TSQL 中最简单的方法是:
SELECT COLUMN_NAME, DATA_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'yourTableName'
回答by Hanif Azhari
For SQL Server, this system stored procedure will return all table information, including column datatypes:
对于 SQL Server,此系统存储过程将返回所有表信息,包括列数据类型:
exec sp_help YOURTABLENAME
回答by jTC
In TSQL/MSSQL it looks like:
在 TSQL/MSSQL 中,它看起来像:
SELECT t.name, c.name
FROM sys.tables t
JOIN sys.columns c ON t.object_id = c.object_id
JOIN sys.types y ON y.user_type_id = c.user_type_id
WHERE t.name = ''
回答by Assaf
in oracle SQL you would do this:
在 oracle SQL 中,您将执行以下操作:
SELECT
DATA_TYPE
FROM
all_tab_columns
WHERE
table_name = 'TABLE NAME' -- in uppercase
AND column_name = 'COLUMN NAME' -- in uppercase
回答by fimas
If you're using MySQL you could try
如果您使用的是 MySQL,您可以尝试
SHOW COLUMNS FROM `tbl_name`;
Otherwise you should be able to do
否则你应该能够做到
DESCRIBE `tbl_name`;
回答by Arne H. Bitubekk
Another variation using MS SQL:
另一个使用 MS SQL 的变体:
SELECT TYPE_NAME(system_type_id)
FROM sys.columns
WHERE name = 'column_name'
AND [object_id] = OBJECT_ID('[dbo].[table_name]');
回答by csebryam
Using TSQL/MSSQL
使用 TSQL/MSSQL
This query will get you: table name, column name, data type, data type length, and allowable nulls
此查询将获得:表名、列名、数据类型、数据类型长度和允许的空值
SELECT TABLE_NAME,COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, IS_NULLABLE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'your_table_name'
The only thing that needs to be changed is your_table_name.
唯一需要更改的是your_table_name。
回答by Kprof
USE [YourDatabaseName]
GO
SELECT column_name 'Column Name',
data_type 'Data Type'
FROM information_schema.columns
WHERE table_name = 'YourTableName'
GO
This will return the values Column Name, showing you the names of the columns, and the Data Types of those columns (ints, varchars, etc).
这将返回值列名,向您显示列的名称以及这些列的数据类型(整数、varchars 等)。
回答by Aman
For IBM DB2:
对于IBM DB2:
SELECT TYPENAME FROM SYSCAT.COLUMNS WHERE TABSCHEMA='your_schema_name' AND TABNAME='your_table_name' AND COLNAME='your_column_name'