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)
Antwort
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
Ich schätze es Mureinik! > 0 gibt es nur zurück, wenn mindestens 1 Name ein 'A' enthält? – chaosdecides
Perfekt. Nur für den Fall - denken Sie daran, dass Oracle Groß- und Kleinschreibung beachtet. :) –
@chaosdecides: Es gibt alle Zeilen zurück, in denen last_name 'A' enthält. –
Welcher Geschmack von SQL? –
OK. Klingt gut. Sagen Sie uns, wann Sie Erfolg hatten. Oder hast du hier eine Frage? – arkascha
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