Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

SQL Server convertit varchar en int

Le point de Martin Smith est excellent --> S'il ne s'agit que de données numériques et que vous allez toujours faire des opérations comme celle-ci, cela vous fera gagner du temps et vous évitera d'avoir à faire ce travail de conversion.

Cela étant dit, vous pouvez le faire -

update Fields  
set ColumnName = cast( (cast(ColumnName as int) - 1) as varchar(nn))
from Fields f, FTypes ft
where ft.Name = 'Field Count'
    and ft.ID = f.ID_FT
    and f.ID_Project = 186   

où nn est la définition originale de votre colonne varchar