Aquí hay una copia de mi base de datos.La columna calculada debería dar como resultado la cadena
Tanto col1 como col2 se declaran como int.
Mi ComputedColumn Actualmente añade las columnas 1 y 2, de la siguiente manera ...
col1 col2 ComputedColumn
1 2 3
4 1 5
En lugar de esto, mi ComputedColumn debe unirse a las columnas 1 y 2 (includimg la '-' carácter en el medio) de la siguiente manera ...
col1 col2 ComputedColumn
1 2 1-2
4 1 4-1
Entonces, ¿cuál es la sintaxis correcta?
¡Creo que NVARCHAR (MAX) es exagerado !, ¡son INT, por lo que hay una longitud máxima y no pueden contener ningún carácter Unicode extraño! así que varchar (11) estaría bien. –
@KM Buen punto, especialmente en 'VARCHAR' contra' NVARCHAR'. La longitud es una preocupación menor: siempre que la longitud total de la fila no exceda el tamaño de fila permitido (4K?), Creo que no habrá diferencia práctica entre usar MAX frente a los 11 que sugiere. – Dathan
si se trata de una columna calculada que no está PERSISTED, posiblemente realizará este cálculo millones de veces, dependiendo de la cantidad de SELECT que haga en esta columna. Pensaría que hay algo de sobrecarga al hacer operaciones de cadena en columnas (MAX) vs (n). ¿Por qué arriesgarse, el int no puede ser más grande que varchar (11)? –