[SQL] 어떻게 SQL Server의 테이블에서 열 이름을 얻을 수 있나요?
SQL어떻게 SQL Server의 테이블에서 열 이름을 얻을 수 있나요?
나는 테이블의 모든 컬럼의 이름을 조회하고 싶습니다. 나는이 작업을 수행하는 방법을 발견 :
그러나 나는 알 필요가 : 어떻게이 (내 경우 2008) 마이크로 소프트 SQL 서버에서 수행 할 수 있는가?
해결법
-
==============================
1.당신은 정보 스키마 뷰를 쿼리하여 훨씬 더 많은 정보를 얻을 수 있습니다.
당신은 정보 스키마 뷰를 쿼리하여 훨씬 더 많은 정보를 얻을 수 있습니다.
이 샘플 쿼리
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = N'Customers'
이러한 DB 객체를 온통 만들 수 있습니다 :
-
==============================
2.당신은 주어진 테이블의 모든 컬럼에 정보 관련을 반환 저장 프로 시저 sp_columns를 사용할 수 있습니다. 더 많은 정보는 여기 http://msdn.microsoft.com/en-us/library/ms176077.aspx 찾을 수 있습니다
당신은 주어진 테이블의 모든 컬럼에 정보 관련을 반환 저장 프로 시저 sp_columns를 사용할 수 있습니다. 더 많은 정보는 여기 http://msdn.microsoft.com/en-us/library/ms176077.aspx 찾을 수 있습니다
또한 SQL 쿼리에 의해 그것을 할 수 있습니다. 이 같은 일부 것은 도움이 될 것입니다 :
SELECT * FROM sys.columns WHERE object_id = OBJECT_ID('dbo.yourTableName')
아니면 변화는 다음과 같습니다
SELECT o.Name, c.Name FROM sys.columns c JOIN sys.objects o ON o.object_id = c.object_id WHERE o.type = 'U' ORDER BY o.Name, c.Name
이것은 모든 테이블, 테이블 이름으로 정렬하고 열 이름부터 모든 열을 가져옵니다.
-
==============================
3.
select * from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='tableName'
이것은 더 나은 직접 DATA_TYPE을 보여주기 때문에 sys.columns에서 점점보다.
-
==============================
4.당신은 SQL Server 2008의 sp_help는 사용할 수 있습니다.
당신은 SQL Server 2008의 sp_help는 사용할 수 있습니다.
sp_help <table_name>;
위의 명령에 대한 키보드 단축키 : 선택 테이블 이름 (즉 그것을 강조)를 눌러 ALT + F1.
-
==============================
5.이 쿼리를 사용하여 당신은 답변을 얻을 :
이 쿼리를 사용하여 당신은 답변을 얻을 :
select Column_name from Information_schema.columns where Table_name like 'table name'
-
==============================
6.당신은 열 이름과 사용하지 않고 모든 세부 사항을 얻기 위해이 쿼리를 작성할 수 있습니다 MySQL의에서 INFORMATION_SCHEMA :
당신은 열 이름과 사용하지 않고 모든 세부 사항을 얻기 위해이 쿼리를 작성할 수 있습니다 MySQL의에서 INFORMATION_SCHEMA :
SHOW COLUMNS FROM database_Name.table_name;
-
==============================
7.
--This is another variation used to document a large database for conversion (Edited to --remove static columns) SELECT o.Name as Table_Name , c.Name as Field_Name , t.Name as Data_Type , t.length as Length_Size , t.prec as Precision_ FROM syscolumns c INNER JOIN sysobjects o ON o.id = c.id LEFT JOIN systypes t on t.xtype = c.xtype WHERE o.type = 'U' ORDER BY o.Name, c.Name --In the left join, c.type is replaced by c.xtype to get varchar types
-
==============================
8.
SELECT name FROM sys.columns WHERE object_id = OBJECT_ID('TABLE_NAME')
TABLE_NAME은 테이블
-
==============================
9.
SELECT column_name, data_type, character_maximum_length, table_name,ordinal_position, is_nullable FROM information_schema.COLUMNS WHERE table_name LIKE 'YOUR_TABLE_NAME' ORDER BY ordinal_position
-
==============================
10.이 SO 질문은 다음과 같은 방법이 없습니다 :
이 SO 질문은 다음과 같은 방법이 없습니다 :
-- List down all columns of table 'Logging' select * from sys.all_columns where object_id = OBJECT_ID('Logging')
-
==============================
11.그냥이 명령을 실행
그냥이 명령을 실행
EXEC sp_columns 'Your Table Name'
-
==============================
12.당신은 이걸는 해당 데이터 유형의 모든 열 이름을 제공 시도 할 수 있습니다.
당신은 이걸는 해당 데이터 유형의 모든 열 이름을 제공 시도 할 수 있습니다.
desc <TABLE NAME> ;
-
==============================
13.그것은 주어진 테이블이 자료 표 여부를 확인합니다.
그것은 주어진 테이블이 자료 표 여부를 확인합니다.
SELECT T.TABLE_NAME AS 'TABLE NAME', C.COLUMN_NAME AS 'COLUMN NAME' FROM INFORMATION_SCHEMA.TABLES T INNER JOIN INFORMATION_SCHEMA.COLUMNS C ON T.TABLE_NAME=C.TABLE_NAME WHERE T.TABLE_TYPE='BASE TABLE' AND T.TABLE_NAME LIKE 'Your Table Name'
-
==============================
14.이 쿼리를 사용할 수 있습니다
이 쿼리를 사용할 수 있습니다
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME like N'%[ColumnName]%' and TABLE_NAME = N'[TableName]'
-
==============================
15.
SELECT c.Name FROM sys.columns c JOIN sys.objects o ON o.object_id = c.object_id WHERE o.object_id = OBJECT_ID('TABLE_NAME') ORDER BY c.Name
-
==============================
16.틀림없이 더 직관적이고 또 다른 옵션 :
틀림없이 더 직관적이고 또 다른 옵션 :
SELECT [name] FROM sys.columns WHERE object_id = OBJECT_ID('[yourSchemaType].[yourTableName]')
이렇게하면 하나의 열에서 모든 열 이름을 제공합니다. 다른 메타 데이터에 대해 관심이 있다면, 당신은 *을 선택하려면 편집을 SELECT 문을 변경할 수 있습니다.
-
==============================
17.
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'name_of_your_table'
-
==============================
18.
SELECT TOP (0) [toID] ,[sourceID] ,[name] ,[address] FROM [ReportDatabase].[Ticket].[To]
간단하고 나던은 SYS 테이블을 필요로
-
==============================
19.답변을 요약
답변을 요약
나는이 작업을 수행하는 많은 다른 답변 방법을 볼 수 있지만 거기에이의 마찰이며 그 목적이다.
예, 목적. 만 열 이름을 알고 싶다면 당신은 사용할 수 있습니다
SELECT * FROM my_table WHERE 1=0 or SELECT TOP 0 * FROM my_table
당신은 단순히 어딘가에 그 열을 사용하려는 경우, 또는 그러나 위의 빠른 쿼리가 어떤 소용이 될 수 없습니다 다음으로 조작 말한다. 당신은 사용할 필요가
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = N'Customers'
우리는 몇 가지 유사한 열을 필요로하는 일부 특정 열을 알 수있는 또 하나의 방법
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME like N'%[ColumnName]%' and TABLE_NAME = N'[TableName]'
from https://stackoverflow.com/questions/1054984/how-can-i-get-column-names-from-a-table-in-sql-server by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] MAX와 GROUP BY (DATE) [중복] (0) | 2020.03.13 |
---|---|
[SQL] 왼쪽은 SQL Server의 성능을 가입 대 INNER는 가입 (0) | 2020.03.13 |
[SQL] 이 쿼리는 쉼표로 구분 된 목록의 SQL 서버를 만들기 위해 무엇을? (0) | 2020.03.13 |
[SQL] 어떻게 MySQL은 여러 테이블에서 삭제하려면? (0) | 2020.03.13 |
[SQL] 어떻게 두 숫자 사이의 숫자의 범위를 생성하는? (0) | 2020.03.13 |