| 
 
  
	| Поиск подряд повторяющиеся цифры в строке 
 
 |  
	
		| Предыдущая тема :: Следующая тема |  
		| Автор | Сообщение |  
		| cool_dude Участник - экстремал
 
 
 Вступление в Клуб: 05.02.2013
 
 | 
			
				|  Пт Дек 04, 2020 13:34   Поиск подряд повторяющиеся цифры в строке |   |  
				| Полезность: Нет оценки 
 |  
				| Здравствуйте друзья! Появилась такая задача. Как реализовать поиск подряд повторяющиеся цифры в ИНН. Появились такие некорректные записи в поле ИНН, например 595999999, 999999990, или 197899999 и типа этого. Как найти таких записей? Заранее благодарю.
 |  |  
		|  |  
		| Random Эксперт
 
 
 Вступление в Клуб: 27.06.2011
 
 | 
			
				|  Пт Дек 04, 2020 16:00   Re: Поиск подряд повторяющиеся цифры в строке |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | Цитата: |  	  | Здравствуйте друзья! Появилась такая задача. Как реализовать поиск подряд повторяющиеся цифры в ИНН. Появились такие некорректные записи в поле ИНН, например 595999999, 999999990, или 197899999 и типа этого. Как найти таких записей? Заранее благодарю.
 | 
 
 подряд повторяющиеся - это сколько?
 595345299 - это норм или не норм? 9 повторяется 2 раза?
 
 А вообще это довольно легко.
 select from where regexp_like(c_inn, '0{3}|1{3}|2{3}|3{3}...')
 и так далее, перечислить все цифры - их всего 10. То, что в фигурных скобках - это количество подряд идущих цифр.
 
 Другой вариант:
 
 select from where instr(c_inn, '000')>0 or instr(c_inn, '111') or instr(c_inn, '222')Ю0 ... ну, принцип понятен, думаю.
 |  |  
		|  |  
		| cool_dude Участник - экстремал
 
 
 Вступление в Клуб: 05.02.2013
 
 | 
			
				|  Пн Дек 07, 2020 06:52   Re: Поиск подряд повторяющиеся цифры в строке |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | Цитата: |  	  | подряд повторяющиеся - это сколько?
 595345299 - это норм или не норм? 9 повторяется 2 раза?
 
 А вообще это довольно легко.
 select from where regexp_like(c_inn, '0{3}|1{3}|2{3}|3{3}...')
 и так далее, перечислить все цифры - их всего 10. То, что в фигурных скобках - это количество подряд идущих цифр.
 
 Другой вариант:
 
 select from where instr(c_inn, '000')>0 or instr(c_inn, '111') or instr(c_inn, '222')Ю0 ... ну, принцип понятен, думаю.
 | 
 
 Спасибо за ответ. Но я хочу проверить перед выгрузкой в сsv файл. То есть у меня уже есть селект, который выводить все INN. А потом при выгрузке мне надо проверить. Если INN = 535399999 то INN = ''. Вот это как реализовать? Пробовал instr, не получилось...
 |  |  
		|  |  
		| Volod Эксперт
 
 
 Вступление в Клуб: 19.09.2007
 
 | 
			
				|  Ср Дек 09, 2020 18:31    |   |  
				| Полезность: Нет оценки 
 |  
				| Не проще проверять ключ ИНН? |  |  
		|  |  
		| cool_dude Участник - экстремал
 
 
 Вступление в Клуб: 05.02.2013
 
 | 
			
				|  Чт Дек 10, 2020 10:39    |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | Цитата: |  	  | Не проще проверять ключ ИНН? | 
 Как это сделать?
 |  |  
		|  |  
		| Volod Эксперт
 
 
 Вступление в Клуб: 19.09.2007
 
 | 
			
				|  Чт Дек 10, 2020 15:35    |   |  
				| Полезность: Нет оценки 
 |  
				| CLIENT.CHECK_INN |  |  
		|  |  
		|  |  
  
	| 
 
 | Вы не можете начинать темы Вы не можете отвечать на сообщения
 Вы не можете редактировать свои сообщения
 Вы не можете удалять свои сообщения
 Вы не можете голосовать в опросах
 
 |  |