eine Kombination aus charindex()
Verwendung, stuff()
, len()
, reverse()
und substring()
:
create table t (str varchar(64));
insert into t values
('1*2*3*4*45*')
,('1*2*3*4*500*')
,('1*2*3*4*5*6*300*');
select
str
, last_value = substring(
str
,1+len(str)-charindex('*',stuff(reverse(str),1,1,''))
,charindex('*',stuff(reverse(str),1,1,''))-1)
from t;
rextester Demo: http://rextester.com/KYP16744
kehrt:
+------------------+------------+
| str | last_value |
+------------------+------------+
| 1*2*3*4*45* | 45 |
| 1*2*3*4*500* | 500 |
| 1*2*3*4*5*6*300* | 300 |
+------------------+------------+
wenn es immer die richtigen Charaktere sind? Wenn ja, kehren Sie die Strings um und suchen Sie nach dem ersten * beginnend im 2. Trank, greifen Sie den String links von dieser Position, ersetzen Sie das * durch '' und kehren Sie den String dann wieder um. oder case wenn String wie '% * 45 *%' dann 45 wenn String wie '% * 500 *%' dann 500 Ende etc .. – xQbert
Datenbank ist IO-Gerät, verantwortlich für das Lesen und Schreiben von Daten. Verwenden Sie "das richtige Werkzeug für den Job" - verarbeiten Sie Ihre Daten auf der Codepage - die meisten Programmiersprachen bieten effektive Methoden dafür. – Fabio
Viele Duplikate, wählen Sie einen aus: https://www.google.com/#q=stack+overflow+sql+get + substring+zwischen + zwei Zeichen –