Обрезать числа в начале и в конце

#sql #string #oracle #trim

#sql #строка #Oracle #обрезать

Вопрос:

У меня есть следующий формат идентификационного номера

 70800123467
  

Нужный мне идентификатор требует, чтобы я удалил его 708 с начала и 67 с конца, оставив мне 001234.

Комментарии:

1. На каком языке программирования? Всегда ли началом является 708, или вы хотите удалить первые 3 цифры, какими бы они ни были. И многое другое… Пожалуйста, улучшите свой вопрос.

2. Учитывая имя пользователя, мы могли бы предположить SQL, но тогда нам все равно нужно знать, о какой СУБД идет речь, поэтому, пожалуйста, укажите в своем вопросе либо язык программирования, либо sql и базу данных, которую вы используете.

Ответ №1:

Вы можете использовать SUBSTR для баз данных Oracle:

 SUBSTR('70800123467', 4, 8) -- remove first 3 chars from a string with length of 11
SUBSTR('70800123467', -3, 8) -- remove last 2 chars from a string with length of 11
  

Итак, правильное вложение этих двух:

 SUBSTR(SUBSTR('70800123467', 4, 8), -3, 6)
  

вернет 001234 по вашему желанию.