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

Konwersja typu danych Char na Nvarchar

Wybór z INFORMATION_SCHEMA.COLUMNS to dobry sposób na określenie, które kolumny należy przekonwertować,

SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE DATA_TYPE = 'CHAR';

Nie można go jednak użyć do bezpośredniej zmiany typu danych kolumny. ZMIEŃ TABELĘ służy do modyfikowania typów danych kolumn:

ALTER TABLE [dbo].[TableName] ALTER COLUMN [ColumnName] NVARCHAR(50);

W tym czasie unikaj używania NVARCHAR(MAX) chyba że jest to absolutnie konieczne. Upewnij się, że rozmiar Twoich danych jest dostosowany do atrybutu. Jeśli Twój CHAR kolumny mają już prawidłowy rozmiar, użyj następującego skryptu, aby generować ALTER TABLE oświadczenia:

SELECT  'ALTER TABLE ' +
        QUOTENAME(TABLE_SCHEMA) + '.' +
        QUOTENAME(TABLE_NAME) +
        ' ALTER COLUMN ' +
        QUOTENAME(COLUMN_NAME) +
        ' NVARCHAR(' +
        CAST(CHARACTER_MAXIMUM_LENGTH AS VARCHAR(4)) + ');'
FROM    INFORMATION_SCHEMA.COLUMNS
WHERE   DATA_TYPE = 'char';

Pamiętaj, że generuje to tylko instrukcje ALTER TABLE, musisz skopiować wyniki i wykonać w nowej karcie, aby zmienić typy danych.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak przekonwertować wielkie litery na małe w programie SQL Server — LOWER()

  2. Jak odjąć 30 dni od bieżącej daty za pomocą SQL Server

  3. Wprowadzenie do wbudowanych funkcji z wartościami tabelarycznymi (ITVF) w SQL Server

  4. Jak usunąć domyślne ograniczenie SQL bez znajomości jego nazwy?

  5. SQL Server w systemie Linux