Делюсь важной заметкой, которую я узнаю, работая над одной из моих задач.

У нас есть таблица, в которой есть столбец char(2) [для хранения разных знаков &, * и т. д.]

Мы извлекаем это значение и проверяем его на следующее условие:

if(strCharVal.equals("&")) { //Это условие никогда не будет выполнено, хотя мы сохранили в столбце ‘&’.

// он должен выполнить блок кода

}

Вот проблема! мы получаем strCharVal как "& " (пробел вместе с символом) вместо "&".

В конце концов мы нашли вещь,

CHAR(x)создает столбец, в котором всегда хранится x символов, и дополняет данные пустыми пробелами.

Помните об этом при работе с типом char в базе данных MSSQL.

Чтобы попробовать это, вы можете создать таблицу и добавить столбец с типом char.

Теперь сохраните в нем любой символ, а оставшееся пространство будет заполнено пробелами, так что лучше выберите varchar!!