Основное различие: в системах баз данных, таких как SQL Server, Char и Varchar являются типами данных, где char фактически обозначает символ, а Varchar обозначает переменный символ. Они оба используются для хранения значений строкового типа с максимальной длиной 8000 символов. Размер хранилища char такой же, как объявлено, тогда как шестой этап Varchar зависит от байтов введенных фактических данных.
Давайте рассмотрим пример - если данные Char объявлены таким образом: объявите test Char (20) и test = "testing", тогда тестирование займет первые 7 байтов, а остальные будут заполнены пустыми данными. С другой стороны, если данные Varchar объявлены следующим образом: объявите test Varchar (20) и test = «testing», тогда они будут занимать всего 7 + 2 байта.
Символ следует использовать, когда длина переменной известна, тогда как Varchar следует использовать только тогда, когда длина неизвестна. Char быстрее, чем Varchar, так как система Varchar тратит некоторое время на то, чтобы определить время для обнаружения конца строки. С другой стороны, это время не теряется в Char.
Сравнение между Char и Varchar:
голец | Varchar | |
Полная форма | символ | Переменный символ (в контексте к символу переменной длины) |
Имея в виду | Используется для хранения строковых данных не-Unicode фиксированной длины | Используется для хранения не-Unicode строковых данных переменной длины |
Байты, используемые для хранения | 1 байт на символ | 1 байт на символ и 1 или 2 байта дополнительно для хранения информации о длине |
заявка | Используется для хранения данных, таких как номер телефона и т. Д. (Ввод данных является согласованным.) | Используется для хранения данных, таких как адрес (записи данных сильно различаются) |
Условие: входная строка меньше объявленных байтов | Пробел без каких-либо символов будет дополнен пробелами | Пробел без какого-либо символа не будет дополнен ни одним из символов |
Условие: входная строка больше объявленных байтов | Строка будет усечена до объявленных байтов | Строка будет усечена до объявленных байтов. |