У меня есть SQL-запрос, который я даю на вход и получаю вывод. Поэтому я проверяю, вводит ли пользователь переменную или нет. Однако я хочу улучшить его.
В настоящее время я использую следующий оператор, чтобы проверить, содержит ли переменная ввода переменную или нет, если они не вводили ввод, для них автоматически устанавливается диапазон, как показано ниже.
Примечание:
- :StudentIdFrom
- это поле ввода, которое я настроил, чтобы разрешить пользователям вводить запросы.
- **:**
(двоеточие означает ввод)
- studentNo
это тип символов, состоящий ровно из 10 символов
- все входные данные являются строками.
(CASE
WHEN LENGTH(:StudentIdFrom ) > 0
THEN CAST(studentNo AS VARCHAR(10)) BETWEEN :StudentIdFrom AND
(CASE
WHEN LENGTH(:StudentIdUntil) > 0
THEN :StudentIdUntil
ELSE :StudentIdFrom
END)
ELSE CAST(studentNo AS VARCHAR(10)) BETWEEN '0000000001' and '9999999999'
END
)
Все, что я хочу, это чтобы пользователь просто вводил число, не вводя все 0 в выражении.