Ich bin auf SQL Server 2012, Ich versuche, eine SELECT
Erklärung zu schreiben, die LEFT()
und RIGHT()
Funktionen verwendet ein ProductName
angezeigt werden, wenn der dritte Brief vom Ende des Produktnamen ein bestimmte Buchstabe ist.
Beispiel der dritte Brief ist ein 'a'
SQL-Select-Statement
-1
A
Antwort
1
Die einfachste Optio hier ist like
zu verwenden:
select ProductName from Products where ProductName like '%a__'
%
ein Platzhalter ist eine beliebige Anzahl von Zeichen übereinstimmt, und _
entspricht einem einzelnen Zeichen. like '%a__'
bedeutet der drittletzte Buchstabe ist ein a
.
Arbeitsbeispiel: http://www.sqlfiddle.com/#!6/6b479/8
Wenn Sie left
und right
verwenden möchten, sollten Sie verwenden:
select ProductName from Products
where len(ProductName)>=3 AND left(right(ProductName,3),1)='a'
Arbeitsbeispiel: http://www.sqlfiddle.com/#!6/6b479/2
left(right(ProductName,3),1)
bedeutet: die letzten drei Buchstaben nehmen, und nehmen Sie nehmen der erste Brief von ihnen. Wir überprüfen auch auf len(ProductName)>=3
, um sicherzustellen, dass es mindestens drei Buchstaben gibt, andernfalls können wir kurze Produktnamen zurückgeben, die mit einer a
beginnen.
Was haben Sie bisher versucht? – jhpratt
Datenstichprobe und erwartete Ergebnisse hinzufügen. Auch die Abfrage brauchen Sie Hilfe mit – Horaciux
SELECT Produkt-ID, ProductName, UnitPrice, \t LINKS (ProductName, LEN (Produktname) - 3) –