Как добавить любое количество цифр в строку или удалить цифры из строки в Postgresql - PullRequest
0 голосов
/ 09 мая 2018

У меня есть 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 в выражении.

Ответы [ 2 ]

0 голосов
/ 14 мая 2018

Ответ был в postgresql LPAD(:studentIdFrom,10,'0')

0 голосов
/ 09 мая 2018

Попробуйте это:

select replicate(0,10-len(field))+field
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...