Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak zmienić typ danych kolumny w SQL Server (T-SQL)

Podczas tworzenia tabeli bazy danych określasz wszystkie kolumny wraz z ich typami danych. Po utworzeniu zwykle nie ma zamiaru zmieniać tych typów danych. W końcu ktokolwiek zaprojektował schemat, zastanowiłby się, jaki typ danych powinna akceptować każda kolumna.

Jednak wszyscy wiemy, że wszystko może się zmienić. Pomimo naszych najlepszych starań, aby przewidzieć każdy możliwy scenariusz, który może trafić do naszej bazy danych, czasami to nie wystarczy.

Co więc zrobimy, jeśli musimy użyć Transact-SQL do zmiany typu danych kolumny w SQL Server?

Używamy ALTER TABLE oświadczenie, aby to oczywiście zmienić.

Przykład

Oto przykład użycia T-SQL ALTER TABLE instrukcja zmiany typu danych kolumny:

ALTER TABLE Zadania ALTER COLUMN Kod zadania char(6);GO

Zmienia to tabelę o nazwie Tasks , zmieniając jego TaskCode kolumna na typ danych char(6) . Pamiętaj, że nie ma potrzeby określania, jakiego typu danych użyto być – po prostu określasz nowy typ danych i kończysz z tym. SQL Server zajmie się resztą.

Sprawdź wyniki

Możesz sprawdzić wynik, wysyłając zapytanie do INFORMATION_SCHEMA.COLUMNS :

USE Solutions;SELECT COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH AS MAX_LENGTH, CHARACTER_OCTET_LENGTH AS OCTET_LENGTHFROM INFORMATION_SCHEMA.COLUMNSWHERE TABLE_NAME ='Zadania'AND COLUMN_NAME ='pre>Kod zadania'; 

Wynik:

NAZWA_KOLUMNY TYP_DANYCH MAX_DŁUGOŚĆ OCTET_LENGTH----------- --------- ---------- ------------Kod zadania znak 6 6 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 3 metody odbudowy wszystkich indeksów dla wszystkich tabel za pomocą T-SQL w bazie danych SQL Server

  2. sql server 2008 management studio nie sprawdza składni mojego zapytania

  3. Jak używać IF...THEN Logic w SQL Server

  4. Bazy danych systemu SQL Server — przywracanie systemowych baz danych

  5. Obcinaj (nie okrągłe) miejsca dziesiętne w SQL Server