Tenemos dos columnas en una base de datos que actualmente es de tipo varchar (16). La cosa es que contiene números y siempre contendrá números. Por lo tanto, queremos cambiar su tipo a entero. Pero el problema es que, por supuesto, ya contiene datos.Cambiar el tipo de una columna con números de varchar a int
¿Hay alguna manera de que podamos cambiar el tipo de esa columna de varchar a int, y no perder todos los números que ya están allí? Esperemos que algún tipo de sql podamos simplemente ejecutar, sin tener que crear columnas temporales y crear un programa C# o algo para hacer la conversión, etc. ... Me imagino que podría ser bastante fácil si SQL Server tiene alguna función para convertir cadenas a números, pero soy muy inestable en SQL. Bastante solo funciona con C# y accede a la base de datos a través de LINQ to SQL.
Nota: Sí, hacer que la columna varchar en primer lugar no era una muy buena idea, pero lamentablemente es la forma en que lo hicieron.
#tmp es un nombre aleatorio de una tabla tmp? – Svish
Buena respuesta - Diría esto primero - selecciona el elenco (silly_column como int), other_columns de bad_table Para asegurarte de que no tienes ningún problema de conversión y todos son de hecho. – brendan
De todos los nombres que inventé, ¿hizo un comentario sobre el #tmp? – cjk