Vediamo in questo articolo come si può cambiare la size ed il tipo di una colonna del database. Vedremo anche come, mediante una semplice query, capire qual'è la massima dimensione occupata da una determinata colonna.
Vedremo come alterare il tipo di una colonna in un database Microsoft SQL Server.
Cambiare il tipo di dato di una colonna
Nasce spesso l'esigenza di dover cambiare il tipo di dato di una colonna. Forse ciò che succede più spesso, è la necessita di cambiare la sua dimensione. Ad esempio si è stabilito che una data colonna sia di tipo char(10) e ci si accorge successivamente che tale dimensione non è sufficiente. Che fare? La prima soluzione è quella di aprire il Microsoft SQL Server Management Studio e quindi andare in Design della tabella e modificarne il valore.
Purtroppo non è possibile. Il software avvisa che l'unico modo per farlo è cancellare e ricreare la tabella.
Ma come si fa se la tabella è in uso?
L'alternativa è agire mediante una query di modifica.
Si può usare una query sql come questa:
ALTER TABLE mia_tabella
ALTER COLUMN mia_colonna nuovo_dataType
Nel nostro caso:
ALTER TABLE mia_tabella
ALTER COLUMN mia_colonna char(25)
Retrieve the maximum length of a VARCHAR column in SQL Server
Ovvero, se noi abbiamo una colonna di tipo nvarchar(2000) e vogliamo sapere ad un certo punto quanta ne stiamo occupando, come si fa?
Ovvero, il nostro obiettivo è sapere se siamo o no vicini al limite dei 2000 caratteri a disposizione.
La query da usare è la seguente:
SELECT max(datalength(OtherData))
FROM [PSolDe].[dbo].[BarAccountsDetails]
Buon lavoro!