У меня индексированный (но не уникальный) VARCHAR поле идентификаторов Сотрудника в таблице, и в запросе мне нужно возвращать строки, которые exactly 4 numerical characters
, но и более 1000.Любая причина, по которой я не должен использовать «между X и Y» в поле varchar в SQL, чтобы вернуть число?
я нашел различные вопросы, на здесь об использовании методов проверки, чтобы проверить, что поле содержит 0-9 символов или не содержит символов az и т. д., но они не связаны с этим вопросом.
фона:
У меня есть таблица с различными значениями, и образец устанавливается следующим образом:
EmployeeID
----------
6745
EMP1
EMP2
1874
LTST
5694
0014
То, что я хотел бы сделать, это вернуть все значения кромеEMP1
, EMP2
, LTST
и 0014
.
Мой вопрос в том, есть ли какие-либо причины, по которым я не должен не должен использовать a Где такая статья, как where EmployeeID between '1000' and '9999'
? Причиной для этого является employeeid является столбцом varchar
Если я могу это сделать, должен ли я также заказывать по идентификатору сотрудника или это не имеет значения?
возврата всех значений, кроме EMP1, етр2, LTST и 0014. Что является причиной этого .Вы может сделать между а также, как вы сказали в вопросе. В чем проблема, с которой вы столкнулись – TheGameiswar
@TheGameiswar мой вопрос в том, есть ли причины, по которым я не должен использовать «между» таким образом, то есть может ли он возвращать неожиданные результаты, которые не являются числовыми мы читаем их – laurencemadill