Вот небольшая привязка к моей базе данных.Вычисленный столбец должен содержать строку
Оба col1 и col2 объявляются как int.
Мои ComputedColumn в настоящее время добавляет в колонках 1 и 2, как следует ...
col1 col2 ComputedColumn
1 2 3
4 1 5
Вместо этого, мой ComputedColumn должен присоединиться колонки 1 и 2 (includimg в '-' характер в средний) следующим образом:
col1 col2 ComputedColumn
1 2 1-2
4 1 4-1
Итак, что такое правильный синтаксис?
Я думаю, что NVARCHAR (MAX) является чрезмерным !, они INTs, поэтому максимальная длина и не может содержать каких-либо странных символов Юникода !!! поэтому varchar (11) будет в порядке. –
@KM Хорошая точка, особенно на 'VARCHAR' против' NVARCHAR'. Длина представляет меньшую озабоченность - пока общая длина строки не превышает допустимый размер строки (4K?), Я считаю, что практического различия между использованием MAX и 11, которые вы предлагаете, не будет. – Dathan
, если это вычисленный столбец, который не является PERSISTED, вы можете сделать это вычисление миллионы раз, в зависимости от того, сколько SELECTs вы делаете в этом столбце. Я думаю, что при выполнении строковых операций над столбцами (MAX) vs (n) возникают некоторые накладные расходы. Зачем рисковать, int не может быть больше, чем varchar (11). –