2016-07-01 12 views
0

Wenn ich eine Spalte von nvarchar (50) haben:Ändern SQL einen Spaltendatentyp in - leere Felder

Angenommen 9.99,2,0,4, 7,9, und ich möchte die Datenspalte Datentyp ändern.

Wie kann ich mit den leeren Feldern umgehen, so dass sie null sind?

Ich weiß, dass numerische Datentypen nicht mit diesen leeren Feldern bleiben können.

Antwort

0

Sie können UPDATE die leeren Werte NULL als

UPDATE TableName SET ColumnName = NULL WHERE ColumnName = ''; 

Dann

ALTER TABLE TableName ALTER COLUMN ColumnName NUMERIC(9,2); 

Beispielausführung mit Beispieldaten:

CREATE TABLE testtable (col1 nvarchar(50)); 

INSERT INTO testtable (col1) values 
('9.99'), 
('2'), 
('0'), 
('4'), 
(''), 
('7'), 
('9'); 

SELECT * FROM testtable; 

UPDATE testtable SET col1 = NULL WHERE col1 = ''; 

ALTER TABLE testtable ALTER COLUMN col1 NUMERIC(18,2); 
Verwandte Themen