2016-05-14 7 views
-1

Ich muss eine Select-Anweisung schreiben, die alle Nachnamen aus einer Spalte zurückgibt, die den Buchstaben A enthält. Ich kann LIKE nicht verwenden. Ich versuche es mit SUBSTR zu tun.SQL Finden Sie Namen, die einen Buchstaben enthalten (ohne Like zu verwenden)

+0

Welcher Geschmack von SQL? –

+4

OK. Klingt gut. Sagen Sie uns, wann Sie Erfolg hatten. Oder hast du hier eine Frage? – arkascha

+0

Oracle SQL. Ich habe Probleme beim Formatieren des SUBSTR. Ich habe die Spalte, Ort für das erste Zeichen zu überprüfen, aber ich weiß nicht, wie man 'a' als das Kriterium eingibt, um die Namen zurückzugeben. (last_name, 1,?) Nicht sicher, ob ich es auf 'a' setze oder das 'a' in die Klammern einbeziehe. – chaosdecides

Antwort

2

Ich glaube nicht, substr ist der Weg zu gehen. instr, auf der anderen Seite kann der Trick:

SELECT last_name 
FROM mytable 
WHERE INSTR(last_name, 'A') > 0 

EDIT:
Als David Bachmann Jeppesen erwähnt, Oracle ist Groß- und Kleinschreibung, wenn Sie so wollen jeden Fall von „A“ Nachnamen finden enthält, Sie könnten so etwas tun:

SELECT last_name 
FROM mytable 
WHERE INSTR(UPPER(last_name), 'A') > 0 
+0

Ich schätze es Mureinik! > 0 gibt es nur zurück, wenn mindestens 1 Name ein 'A' enthält? – chaosdecides

+0

Perfekt. Nur für den Fall - denken Sie daran, dass Oracle Groß- und Kleinschreibung beachtet. :) –

+0

@chaosdecides: Es gibt alle Zeilen zurück, in denen last_name 'A' enthält. –