Я пытаюсь удалить последний символ строки, если это «/», и строка может иметь несколько «/» на конце.SQL - удалить последний символ (ы)
К примеру, у меня есть:
- а/струнный
- б/string1/
- с/STRING2 //
И хотите получить:
- a/строка
- б/string1
- с/строка2
Я пытаюсь удалить последний символ строки, если это «/», и строка может иметь несколько «/» на конце.SQL - удалить последний символ (ы)
К примеру, у меня есть:
И хотите получить:
REPLACE
является то, что вы ищете.
SELECT REPLACE(col1, '/', '') FROM...
Вы можете прочитать больше here
OP искал замену '/', когда это последний символ строки, это удалит все, независимо от позиционирования. –
Да, когда я изначально ответил на это, OP поставил пример, который представлял желаемый '/' удаляемый везде, где есть строка ... OP с тех пор изменил вопрос. @AnthonyForloney – ragerory
Учитывая его ожидаемый ввод и вывод, кажется, что он все еще хочет удалить только '/' в конце строки. –
OP только хочет удалить последнюю косую черту, а не косые черты – Martin
Это не то, что было описано, когда я ответил на вопрос, его пример содержал только косые черты. Мой ответ не подходит сейчас, но он сделал так, как он изначально задал вопрос. – ImCrimson
ОК, я удалил свою уценку .... разочарование OPs !! – Martin
Вы можете просто использовать :
SET @STR = 'b/bla///';
SELECT TRIM(TRAILING '/' FROM @STR);
Попробуйте что-то вроде этого:
` SELECT REVERSE(SUBSTRING(reverse('c/string2//'),
PATINDEX('%[^/ ]%',reverse('c/string2//')),
DATALENGTH(reverse('c/string2//'))))`
Какие СУБД вы используете? Postgres? Oracle? –
В какой базе данных вы используете? MySQL, SQL Server и т. Д. –
Мы используем Mysql –