Удаление ненужных символов в строке
Есть в таблице столбец ФИО, к примеру Иванов Иван Иванович (101). Необходимо удалить (101)
есть такая возможность?
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Удаление ненужных символов в строке
#include <iostream> #include <string> using namespace std; char uppercase(char chr) < .
Удаление ненужных символов
Здравствуйте, у меня такой вопрос как можно удалить все от <!— и до —> количество символов не.
Удаление из строки ненужных символов
Доброй ночи всем! Мне нужно удалить из строки знак " и знак = Я решил это так: strW=.
удаление ненужных символов в тексте
добрый день есть регулярка с заменой в тексте $text = preg_replace(‘/\]+)\]/’,’ ‘, $text); она.
1634 / 1135 / 171
Регистрация: 23.07.2010
Сообщений: 6,713
какой вопрос — такой ответ: можно.
168 / 142 / 1
Регистрация: 01.04.2010
Сообщений: 474
pincet, злобный ты
Claster, числа всегда в конце фамилии, и всегда трёхзначное число?
685 / 241 / 13
Регистрация: 02.04.2009
Сообщений: 692
Claster, если у большинства в данном атрибуте есть свой «(номер)», находишь символ «(» и затем выцепляешь всё что до этого символа
91 / 56 / 12
Регистрация: 02.10.2008
Сообщений: 550
Да номер всегда трехзначный. Буду очень рад примеру как данное можно реализовать
1113 / 758 / 183
Регистрация: 27.11.2009
Сообщений: 2,264
Сообщение от Claster
Да номер всегда трехзначный. Буду очень рад примеру как данное можно реализовать
SELECT LEFT(ФИО,LEN(ФИО)-5);
91 / 56 / 12
Регистрация: 02.10.2008
Сообщений: 550
Прошу прощения в скобках может быть более 3 символов. Необходимо удалить все что идет в скобках включая и сами скобки
1634 / 1135 / 171
Регистрация: 23.07.2010
Сообщений: 6,713
select left(fio,charindex('(',fio)-1)
91 / 56 / 12
Регистрация: 02.10.2008
Сообщений: 550
то что надо, спасибо.
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Удаление ненужных символов/текста
Здравствуйте, уважаемые форумчане! Задача состоит в следующем. Есть определенный бланк на котором.
Проверка длины и удаление ненужных символов
Добрый день! Работаю с CRM. У меня есть идентификатор, который состоит из названия опроса и.
Нахождение и удаление ненужных символов пунктуации в столбце
Доброго времени суток! Помогите, пожалуйста, создать формулу ( с помощью функция таких как.
Удаление ненужных пробелов в строке и замена буквосочетаний
Написать процедуры обработки строковой переменной: удаление ненужных пробелов и замена.
TRIM (Transact-SQL)
Удаляет символ пробела char(32) или другие заданные символы в начале и конце строки.
При необходимости удаляет пробел char(32) или другие указанные символы из начальной, конечной или обеих сторон строки.
Начиная с SQL Server 2022 (16.x), при необходимости удаляет пробел char(32) или другие указанные символы из начала, конца или обеих сторон строки.
Синтаксис
Синтаксис SQL Server 2022 (16.x) и более ранних версий, База данных SQL Azure и Azure Synapse Analytics:
TRIM ( [ characters FROM ] string )
Синтаксис ДЛЯ SQL Server 2022 (16.x) и более поздних версий, Управляемый экземпляр SQL Azure и Microsoft Fabric:
Для использования LEADING TRAILING ключевое слово базы BOTH данных требуется 160 уровень совместимости базы данных.
TRIM ( [ LEADING | TRAILING | BOTH ] [characters FROM ] string )
Сведения о синтаксисе Transact-SQL для SQL Server 2014 (12.x) и более ранних версиях см . в документации по предыдущим версиям.
Аргументы
[ LEADING | TRAILING | BOTH ]
Область применения: SQL Server 2022 (16.x) и более поздних версий, Управляемый экземпляр SQL Azure и Microsoft Fabric:
Необязательный первый аргумент указывает, какую сторону строки следует обрезать:
- LEADING удаляет символы, указанные в начале строки.
- TRAILING удаляет символы, указанные в конце строки.
- BOTH (поведение по умолчанию) удаляет символы, указанные в начале и конце строки.
characters
Литерал, переменная или вызов функции любого типа символов, отличного от большого объекта (nvarchar, varchar, nchar или char), которые содержат удаляемые символы. Типы nvarchar(max) и varchar(max) не допускаются.
string
Выражение любого типа символа (nvarchar, varchar, nchar или char), где должны быть удалены символы.
Типы возвращаемых данных
Возвращает символьное выражение с типом аргумента string, в котором символ пробела char(32) или другие заданные символы удалены с обеих сторон. Возвращает NULL , если входная строка равна NULL .
Замечания
По умолчанию функция TRIM удаляет символ пробела как в начале, так и в конце строки. Такая реакция на событие эквивалентна LTRIM(RTRIM(@string)) .
Чтобы включить необязательные LEADING TRAILING аргументы или BOTH позиционные аргументы в SQL Server 2022 (16.x), необходимо включить уровень 160 совместимости базы данных в базе данных, к которую вы подключаетесь при выполнении запросов.
- При использовании необязательного позиционного аргумента LEADING поведение эквивалентно LTRIM(@string, characters) .
- При использовании необязательного позиционного аргумента TRAILING поведение эквивалентно RTRIM(@string, characters) .
Примеры
А. Удаление пробела с обеих сторон строки
В приведенном ниже примере удаляются пробелы перед словом test и после него.
SELECT TRIM( ' test ') AS Result;
test
B. Удаление указанных символов с обеих сторон строки
В следующем примере представлен список возможных символов для удаления из строки.
SELECT TRIM( '. ' FROM ' # test .') AS Result;
# test
В этом примере удалены только конечная точка, а также пробелы перед символом # и после слова test . Другие символы были проигнорированы, так как их не было в строке.
C. Удаление указанных символов из начала строки
Для использования LEADING TRAILING ключевое слово базы BOTH данных требуется 160 уровень совместимости базы данных.
В следующем примере из начала строки удаляется начальный символ . перед словом test .
SELECT TRIM(LEADING '. ' FROM ' .# test .') AS Result;
# test .
D. Удаление указанных символов из конца строки
Для использования LEADING TRAILING ключевое слово базы BOTH данных требуется 160 уровень совместимости базы данных.
В следующем примере из конца строки удаляется конечный символ . после слова test .
SELECT TRIM(TRAILING '. ' FROM ' .# test .') AS Result;
.# test
Д. Удаление указанных символов из начала и конца строки
Для использования LEADING TRAILING ключевое слово базы BOTH данных требуется 160 уровень совместимости базы данных.
В следующем примере символы 123 удаляются из начала и конца строки 123abc123 .
SELECT TRIM(BOTH '123' FROM '123abc123') AS Result;
Связанный контент
- LEFT (Transact-SQL)
- LTRIM (Transact-SQL)
- RIGHT (Transact-SQL)
- RTRIM (Transact-SQL)
- STRING_SPLIT (Transact-SQL)
- SUBSTRING (Transact-SQL)
- Строковые функции (Transact-SQL)
Обратная связь
Были ли сведения на этой странице полезными?
Обратная связь
Отправить и просмотреть отзыв по
Как убрать все вхождения сочетания символов из строки SQL?
но он убирает только первое вхождение, второе-третье остаётся. Как сделать лучше?
Отслеживать
31.1k 3 3 золотых знака 20 20 серебряных знаков 40 40 бронзовых знаков
задан 16 окт 2020 в 8:10
boniphacia_ boniphacia_
Какая версия SQL Server?
16 окт 2020 в 12:05
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
UPDATE test SET csv = ( SELECT STRING_AGG(value, ',') FROM STRING_SPLIT(test.csv, ',') WHERE value NOT LIKE '_AA_' );
Отслеживать
ответ дан 16 окт 2020 в 9:26
31.1k 3 3 золотых знака 20 20 серебряных знаков 40 40 бронзовых знаков
Классное решение. Единственно, что порядок сборки не гарантируется.
16 окт 2020 в 12:40
@SergeyMoiseenko 1) Для перетасовки исходного относительного положения элементов — на самом деле надо постараться. 2) STRING_SPLIT имеет возможность WITHIN GROUP ORDER BY. Если позиционность имеет значение — следует использовать позиционный формат, включающий компоненту номера записи в наборе, а не строковый тип.
REGEXP_REPLACE ФУНКЦИЯ
Функция Oracle/PLSQL REGEXP_REPLACE является расширением функции REPLACE. Эта функция, введенная в Oracle 10g, позволит вам заменить последовательность символов в строке другим набором символов, используя сопоставление шаблонов регулярных выражений.
Синтаксис
Синтаксис функции Oracle/PLSQL REGEXP_REPLACE :
REGEXP_REPLACE( string, pattern [, replacement_string [, start_position [, nth_appearance [, match_parameter ] ] ] ] )
Параметры или аргументы
string
Строка для поиска. Это могут быть CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB или NCLOB.
pattern
Шаблон. Регулярное выражение для сопоставления. Это может быть комбинацией следующих значений:
Значение | Описание |
---|---|
^ | Соответствует началу строки. При использовании match_parameter с m , соответствует началу строки в любом месте в пределах выражения. |
$ | Соответствует концу строки. При использовании match_parameter с m , соответствует концу строки в любом месте в пределах выражения. |
* | Соответствует нолю или более вхождений. |
+ | Соответствует одному или более вхождений. |
? | Соответствует нолю или одному вхождению. |
. | Соответствует любому символу, кроме NULL. |
| | Используется как «OR», чтобы указать более одной альтернативы. |
[ ] | Используется для указания списка совпадений, где вы пытаетесь соответствовать любому из символов в списке. |
[^ ] | Используется для указания списка nonmatching, где вы пытаетесь соответствовать любому символу, за исключением тех кто в списке. |
( ) | Используется для групповых выражений в качестве подвыражений. |
Соответствует m раз. | |
Соответствие как минимум m раз. | |
Соответствие как минимум m раз, но не более n раз. | |
\n | n представляет собой число от 1 до 9. Соответствует n -му подвыражению находящемуся в ( ) перед \n. |
[..] | Соответствует одному сопоставлению элемента, который может быть более одного символа. |
[::] | Соответствует классу символов. |
[==] | Соответствует классу эквивалентности |
\d | Соответствует цифровому символу. |
\D | Соответствует не цифровому символу. |
\w | Соответствует текстовому символу. |
\W | Соответствует не текстовому символу. |
\s | Соответствует символу пробел. |
\S | Соответствует не символу пробел. |
\A | Соответствует началу строки или соответствует концу строки перед символом новой строки. |
\Z | Соответствует концу строки. |
*? | Соответствует предыдущему шаблону ноль или более вхождений. |
+? | Соответствует предыдущему шаблону один или более вхождений. |
?? | Соответствует предыдущему шаблону ноль или одному вхождению. |
? | Соответствует предыдущему шаблону n раз. |
? | Соответствует предыдущему шаблону, по меньшей мере n раз. |
? | Соответствует предыдущему шаблону, по меньшей мере n раз, но не более m раз. |
replacement_string
Необязательный. Соответствующие шаблоны в строке будут заменены на replace_string . Если параметр replacement_string опущен, то функция просто удаляет все совпадающие шаблоны и возвращает полученную строку.
start_position
Необязательный. Это позиция в строке, откуда начнется поиск. Если этот параметр опущен, по умолчанию он равен 1, который является первой позицией в строке.
nth_appearance
Необязательный. Это n -й вид шаблона в строке. Если этот параметр опущен, по умолчанию он равен 1, который является первым вхождением шаблона в строке. Если вы укажете 0 для этого параметра, все вхождения шаблона в строке будут заменены.
match_parameter
Необязательный. Это позволяет изменять поведение соответствия для условия REGEXP_REPLACE. Это может быть комбинацией следующих значений:
Значение | Описание |
---|---|
‘c’ | Выполняет чувствительное к регистру согласование. |
‘i’ | Выполняет не чувствительное к регистру согласование. |
‘n’ | Позволяет период символа (.) для соответствия символа новой строки. По умолчанию, период метасимволы. |
‘m’ | Выражение допускает, что есть несколько строк, где ^ это начало строки, а $ это конец строки, независимо от позиции этих символов в выражении. По умолчанию предполагается, что выражение в одной строке. |
‘x’ | Игнорируются символы пробелов. По умолчанию, символы пробелов совпадают, как и любой другой символ. |
Функция REGEXP_REPLACE возвращает строковое значение.
Примечание
- Если для параметра match_parameter имеются противоречивые значения, функция REGEXP_REPLACE будет использовать последнее значение.
- См. также функцию REPLACE.
Применение
Функция REGEXP_REPLACE может использоваться в следующих версиях Oracle/PLSQL:
- Oracle 12c, Oracle 11g, Oracle 10g
Пример совпадения с первым словом
Рассмотрим пример использования функции REGEXP_REPLACE для замены первого слова в строке.