Какой тип данных использовать для столбца базы данных

У меня есть таблица людей, которая будет иметь такие столбцы, как имя и фамилия.

Каков наилучший тип данных для этих столбцов, поскольку они могут быть любой длины. Есть ли эмпирическое правило, когда дело доходит до этого?

Я использую SQL Server 2008.

2
nl ja de

4 ответы

I think it is highly unlikely someone to have a Firstname or Lastname more than 50 characters. Datatype for string type with Unicode characters is NVARCHAR and you can limit both of them to 50 or even 100 would not make a much difference.

Поэтому вы можете сказать

Firstname nvarchar(50)
Lastname nvarchar(50)
4
добавлено
Спасибо за это. Это, как я думал. Нет никакого волшебного типа данных, который автоматически расширяется по мере необходимости. Это мой принятый ответ
добавлено автор Wesley Skeen, источник

Используйте NVARCHAR (N) , где < code> N - наибольшее количество символов, которые вы хотите поддерживать для этого поля.

Если вы ожидаете, что у вас никогда не будет международных имен (например, китайский, японский, иврит и другие скрипты), вы можете использовать УАКСНАК (N) .

Это поля переменной длины, которые подходят для строковых данных переменной длины.

2
добавлено
Спасибо за этого помощника
добавлено автор Wesley Skeen, источник

Если какая-либо длина может превышать 4000 для NVarchar или 8000 для Varchar, вы можете использовать (N) Varchar (max). Но если это будет непохоже, вы должны предпочесть (N) Varchar (Yourlimit) из-за проблем с производительностью.

Ref1 and Ref2

1
добавлено

Вы можете использовать тип данных Varchar (50) и делить полное имя на имя, второе имя и l

1
добавлено
SqlCom.ru - Стиль жизни SQL
SqlCom.ru - Стиль жизни SQL
908 участник(ов)

Правила чата - https://t.me/sqlcom/88269 @sqlcom - основной канал (только MS SQL) @sql_ninja - второй канал (SQL вопросы начального уровня и свободное общение) @Gopnegbot - Викторина по SQL Server (наберите в привате /quiz). Предложения в @sql_ninja

SQL_Ninja
SQL_Ninja
340 участник(ов)

Правила чата - https://t.me/sqlcom/88269 @sqlcom - основной канал (только SQL) @sql_ninja - второй канал (SQL вопросы начального уровня и свободное общение) @Gopnegbot - Викторина по SQL Server (наберите в привате /quiz)