[SQL] 어떻게 테이블의 열 이름을 반환합니까?
SQL어떻게 테이블의 열 이름을 반환합니까?
어떻게 2008 SQL Server를 사용하여 테이블의 열 이름을 반환? 즉 테이블이 columns- ID, 이름, 주소, 국가를 포함하고 나는 데이터로 다음을 반환합니다.
해결법
-
==============================
1.2008 버전에서 쉬운 방법이 있는지 확실하지.
2008 버전에서 쉬운 방법이 있는지 확실하지.
USE [Database Name] SELECT COLUMN_NAME,* FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'YourTableName' AND TABLE_SCHEMA='YourSchemaName'
-
==============================
2.이것은 가장 쉬운 방법입니다
이것은 가장 쉬운 방법입니다
exec sp_columns [tablename]
-
==============================
3.이 같은?
이 같은?
sp_columns @table_name=your table name
-
==============================
4.한 가지 방법은 쿼리 SYSCOLUMNS하는 것입니다 :
한 가지 방법은 쿼리 SYSCOLUMNS하는 것입니다 :
select syscolumns.name as [Column], syscolumns.xusertype as [Type], sysobjects.xtype as [Objtype] from sysobjects inner join syscolumns on sysobjects.id = syscolumns.id where sysobjects.xtype = 'u' and sysobjects.name = 'MyTableName' order by syscolumns.name
-
==============================
5.이 테이블의 ID를 찾습니다 OBJECT_ID () 함수를 사용하기 때문에 좀 더 쉽게 다음 위의 제안을 보인다. 해당 ID를 가진 모든 열은 테이블의 일부입니다.
이 테이블의 ID를 찾습니다 OBJECT_ID () 함수를 사용하기 때문에 좀 더 쉽게 다음 위의 제안을 보인다. 해당 ID를 가진 모든 열은 테이블의 일부입니다.
SELECT * FROM syscolumns WHERE id=OBJECT_ID('YOUR_TABLE')
나는 일반적으로 내가 아는 열이 새 버전의 일부가 존재 있는지 확인하기 위해 비슷한 쿼리를 사용합니다. 이 where 절에의 추가 {AND 이름 = 'YOUR_COLUMN'}와 같은 쿼리입니다.
IF EXISTS ( SELECT * FROM syscolumns WHERE id=OBJECT_ID('YOUR_TABLE') AND name='YOUR_COLUMN' ) BEGIN PRINT 'Column found' END
-
==============================
6.이 시도
이 시도
select * from <tablename> where 1=2
...............................................
-
==============================
7.다음은 위의 첫 번째 추천 검색어처럼 보이지만 언젠가 당신은 일에 얻을 수있는 데이터베이스를 지정해야합니다. 쿼리는 또한 TABLE_SCHEMA를 지정하지 않고 작업을해야합니다 :
다음은 위의 첫 번째 추천 검색어처럼 보이지만 언젠가 당신은 일에 얻을 수있는 데이터베이스를 지정해야합니다. 쿼리는 또한 TABLE_SCHEMA를 지정하지 않고 작업을해야합니다 :
SELECT COLUMN_NAME FROM YOUR_DB_NAME.INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'YOUR_TABLE_NAME' AND TABLE_SCHEMA = 'YOUR_DB_NAME'
-
==============================
8.나는 사용한다
나는 사용한다
SELECT st.NAME, sc.NAME, sc.system_type_id FROM sys.tables st INNER JOIN sys.columns sc ON st.object_id = sc.object_id WHERE st.name LIKE '%Tablename%'
-
==============================
9.왜 그냥 시도하지 :
왜 그냥 시도하지 :
컬럼의 전체 목록은 스크립트에 나와있다. 그것을 복사하고 필요에 따라 필드를 사용합니다.
-
==============================
10.USE [데이터베이스] SELECT TABLE_NAME, TABLE_SCHEMA [COLUMN_NAME], [DATA_TYPE] INFORMATION_SCHEMA.COLUMNS FROM WHERE TABLE_SCHEMA = 'DBO'
USE [데이터베이스] SELECT TABLE_NAME, TABLE_SCHEMA [COLUMN_NAME], [DATA_TYPE] INFORMATION_SCHEMA.COLUMNS FROM WHERE TABLE_SCHEMA = 'DBO'
-
==============================
11.
CREATE PROCEDURE [dbo].[Usp_GetColumnName] @TableName varchar(50) AS BEGIN BEGIN SET NOCOUNT ON IF (@TableName IS NOT NULL) select ORDINAL_POSITION OrderPosition,COLUMN_NAME ColumnName from information_schema.columns where table_name =@TableName order by ORDINAL_POSITION END END
-
==============================
12.나는 syscolumns.colid 값이 sp_columns의 일부로 반환 된 'ORDINAL_POSITION'값과 동일 확실하지 경우 해요,하지만 다음 무엇을 내가 그것을 그런 식으로 사용하고 - 나는 misinforming 아니에요 희망을 ...
나는 syscolumns.colid 값이 sp_columns의 일부로 반환 된 'ORDINAL_POSITION'값과 동일 확실하지 경우 해요,하지만 다음 무엇을 내가 그것을 그런 식으로 사용하고 - 나는 misinforming 아니에요 희망을 ...
여기 내가 찾은 다른 답변의 일부에 약간의 변화가있어 -이 테이블의 컬럼의 '위치'또는 주문 때문에 내 응용 프로그램에서 중요하다 사용 - 나는 기본적으로 열 (n)은 무엇이라고 '알 필요가 ? '
sp_columns는 관계없는 물건의 전체 무리를 반환하고, 나는이 길을 갔다 그래서는 T-SQL의 기능을보다 선택과보다 간편한 해요 :
select syscolumns.name, syscolumns.colid from sysobjects, syscolumns where sysobjects.id = syscolumns.id and sysobjects.xtype = 'u' and sysobjects.name = '<YOUR_TABLE>' order by syscolumns.colid
-
==============================
13.@Gulzar 나짐의 대답이 큰 반면, 다음의 SQL에 의해 달성 될 수있는 쿼리의 데이터베이스 이름을 포함하는 것이 더 쉬울 것입니다.
@Gulzar 나짐의 대답이 큰 반면, 다음의 SQL에 의해 달성 될 수있는 쿼리의 데이터베이스 이름을 포함하는 것이 더 쉬울 것입니다.
SELECT COLUMN_NAME, * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'you-table-name' AND TABLE_CATALOG='your-database-name'
-
==============================
14.당신은 모든 열 이름을 인쇄하려면 다음 코드를 사용할 수 있습니다; 또한 중 형식 U이 좋아하는 다른 세부 사항을 인쇄 할 코드를 수정할 수 있습니다
당신은 모든 열 이름을 인쇄하려면 다음 코드를 사용할 수 있습니다; 또한 중 형식 U이 좋아하는 다른 세부 사항을 인쇄 할 코드를 수정할 수 있습니다
declare @Result varchar(max)=' ' select @Result=@Result+''+ColumnName+' ' from ( select replace(col.name, ' ', '_') ColumnName, column_id ColumnId from sys.columns col join sys.types typ on col.system_type_id = typ.system_type_id AND col.user_type_id = typ.user_type_id where object_id = object_id('tblPracticeTestSections') ) t order by ColumnId print @Result
산출
column1 column2 column3 column4
테이블 및 코드 아래의 C # 클래스 사용 등의 열 이름을 인쇄하는 동일한 코드를 사용하려면 :
declare @TableName sysname = '<EnterTableName>' declare @Result varchar(max) = 'public class ' + @TableName + ' {' select @Result = @Result + ' public static string ' + ColumnName + ' { get { return "'+ColumnName+'"; } } ' from ( select replace(col.name, ' ', '_') ColumnName, column_id ColumnId from sys.columns col join sys.types typ on col.system_type_id = typ.system_type_id AND col.user_type_id = typ.user_type_id where object_id = object_id(@TableName) ) t order by ColumnId set @Result = @Result + ' }' print @Result
산출:
public class tblPracticeTestSections { public static string column1 { get { return "column1"; } } public static string column2{ get { return "column2"; } } public static string column3{ get { return "column3"; } } public static string column4{ get { return "column4"; } } }
-
==============================
15.난 그냥 마틴 스미스 같은 쿼리, 그냥 조금 짧은 언급 사용
난 그냥 마틴 스미스 같은 쿼리, 그냥 조금 짧은 언급 사용
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'YourTableName'
-
==============================
16.
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = N'TableName'
-
==============================
17.SYSCOLUMNS이되지 않기 때문에, Sys.All_Columns을 사용합니다 :
SYSCOLUMNS이되지 않기 때문에, Sys.All_Columns을 사용합니다 :
Select ObjectName = Object_Name(Object_ID) ,T.Name ,C.* ,T.* From Sys.All_Columns C Inner Join Sys.Types T On T.User_Type_Id = C.User_Type_Id Where [Object_ID] = Object_ID('Sys.Server_Permissions') --Order By Name Asc
= 유형의 ID를 user_type_id 얻을 것 Sys.Types SELECT * FROM. 이것은 데이터베이스 내에서 고유합니다. 시스템 데이터 유형의 경우 : user_type_id = system_type_id.
-
==============================
18.
DECLARE @col NVARCHAR(MAX); SELECT @col= COALESCE(@col, '') + ',' + COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE Table_name = 'MxLocations'; SELECT @col;
-
==============================
19.
set fmtonly on select * from yourTable
from https://stackoverflow.com/questions/600446/how-do-you-return-the-column-names-of-a-table by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] JSON 형 내부 배열 요소를 쿼리 (0) | 2020.03.22 |
---|---|
[SQL] 어떻게 그룹 시간 시간으로 10 분 (0) | 2020.03.22 |
[SQL] 기본 키 필드를 재설정 SQLite는 (0) | 2020.03.22 |
[SQL] PostgreSQL의 그룹화 LIMIT : 각 그룹의 첫 번째 N 행을 보여? (0) | 2020.03.22 |
[SQL] MySQL은 INSERT INTO 테이블 VALUES ... INSERT INTO 테이블 SET 대 (0) | 2020.03.22 |