code

쿼리로 열을 삭제하지 않고 열의 데이터 유형을 변경하는 방법은 무엇입니까?

codestyles 2020. 12. 14. 08:12
반응형

쿼리로 열을 삭제하지 않고 열의 데이터 유형을 변경하는 방법은 무엇입니까?


데이터 유형이있는 열이 있습니다 : datetime. 하지만 이제는 데이터 유형 varchar로 변환하고 싶습니다. 열을 삭제하지 않고 데이터 유형을 변경할 수 있습니까? 그렇다면 방법을 설명해주십시오.


ALTER COLUMN이 작동하지 않는 경우.

변경 열이 원하는 변환을 수행 할 수 없기 때문에 실패하는 것은 드문 일이 아닙니다. 이 경우 해결 방법은 더미 테이블 TableName_tmp를 만들고 대량 삽입 명령에서 특수 변환을 사용하여 데이터를 복사 한 다음 원본 테이블을 삭제하고 tmp 테이블의 이름을 원본 테이블 이름으로 바꾸는 것입니다. 외래 키 제약 조건을 삭제하고 다시 만들어야하며 성능을 위해 tmp 테이블을 채운 후 키를 만들고 싶을 것입니다.

많은 일처럼 들리나요? 사실 그렇지 않습니다.

SQL Server를 사용하는 경우 SQL Server Management Studio가 작업을 수행하도록 할 수 있습니다!

테이블 구조를 불러오고 (테이블을 마우스 오른쪽 버튼으로 클릭하고 "수정"을 선택) 모든 변경을 수행합니다 (열 변환이 불법 인 경우 새 열을 추가하면됩니다. 잠시 후에 패치 할 것입니다). 그런 다음 수정 창의 배경을 마우스 오른쪽 버튼으로 클릭하고 "변경 스크립트 생성"을 선택합니다. 표시되는 창에서 변경 스크립트를 클립 보드에 복사 할 수 있습니다.

수정을 취소하고 (결국 스크립트를 테스트하려는 경우) 새 쿼리 창에 스크립트를 붙여 넣습니다. 필요에 따라 수정하면 (예 : tmp 테이블 선언에서 필드를 제거하는 동안 변환 추가) 이제 변환을 수행하는 데 필요한 스크립트가 있습니다.


MSDN 말한다

ALTER TABLE mytable ALTER COLUMN mycolumn newtype

기사에 나열된 ALTER COLUMN 절의 한계에주의하십시오.


ALTER TABLE [table name] MODIFY COLUMN [column name] datatype

ALTER TABLE YourTableNameHere ALTER COLUMN YourColumnNameHere VARCHAR(20)

간단 해! 그냥 다음 쿼리를 입력하십시오.

table_Name 테이블 변경 column_name 데이터 유형 변경

alter table Message alter column message nvarchar(1024);

그것은 행복한 프로그래밍을 할 것입니다


ALTER TABLE YourTableNameHere ALTER COLUMN YourColumnNameHere VARCHAR(20)

SQL Server 2008 이상에서는 다음 쿼리를 사용합니다.

ALTER TABLE [RecipeInventorys] ALTER COLUMN [RecipeName] varchar(550)

이것은 postgresql 9.0.3에서 작동합니다.

 alter table [table name] ALTER COLUMN [column name] TYPE [character varying];

http://www.postgresql.org/docs/8.0/static/sql-altertable.html


ALTER TABLE [table_name] ALTER COLUMN [column_name] varchar(150)

ALTER TABLE YourTableNameHere ALTER COLUMN YourColumnNameHere VARCHAR (20) 데이터 유형 변경에 적합합니다.


ORACLE-변경 테이블 table_name modify (column_name new_DataType);


ALTER TABLE yourtable MODIFY COLUMN yourcolumn 데이터 유형


ALTER TABLE table_name
MODIFY (column_name data_type);

ALTER tablename MODIFY columnName newColumnType

하지만 datetime에서 varchar 로의 변경 사항을 처리하는 방법을 잘 모르겠습니다. 따라서 열 이름을 바꾸고 이전 이름과 올바른 데이터 형식 (varchar)으로 새 열을 추가 한 다음 채우기위한 업데이트 쿼리를 작성해야 할 수 있습니다. 이전의 새 열.

http://www.1keydata.com/sql/sql-alter-table.html


alter table [table name] remove [present column name] to [new column name.

참고 URL : https://stackoverflow.com/questions/408825/how-to-change-the-data-type-of-a-column-without-dropping-the-column-with-query

반응형