Hallo.
Ich habe eine kleine Tabelle "tabNamen" mit den Spalten
"ID" int  "Name" nchar(1)   "Nachname" nchar(10)
mit folgenden Eintraegen.
1   Frank      Meier
2   Gerd              Meier
3   Udo              Meier
4   Walter      Mueller
5   Gerhard      Schmidt
Folgender select funktioniert
SELECT     *
FROM         tabNamen
Die Tabelle wird komplett ausgegeben.
Der folgende select gibt nur die Zeilen 1 bis 3 aus.
SELECT     *
FROM         tabNamen where Nachname = 'meier'
alles super.
Nun wollte ich ein "where like" ausprobieren was aber nicht funktioniert.
SELECT     *
FROM         tabNamen where Nachname like 'meier'
Es erfolgt keine Ausgabe.
Warum??
shadock
			
			
			
				Schau hier:
http://msdn.microsoft.com/de-de/library/ms179859.aspx
Andreas
			
			
			
				Hallo Hondo,
habe mir den link angesehen was mich aber keinen deut weiter bringt.
Denke ich habe alles so gemacht wie bei dem link beschrieben.
Weist Du wo mein Fehler liegt oder nicht?
shadock
			
			
			
				Habe es eben rausbekommen.
shadock
			
			
			
				Darf man raten?
Leerzeichen vor dem Namen?
			
			
			
				Nein. Mit einem Leezeichen geht es bei mir nicht.
Habe es so gemacht. %
SELECT     Nachname
FROM         tabNamen where Nachname  like  'meier%'
shadock
			
			
			
				Hallo,
habe auch nicht gemeint, dass es mit einem Leerzeichenfunktionieren sollte - sondern ob etwa vor dem Namen ein Leerzeichen stand.
Mein Ansatz wäre eher gewesen die Where Klausel so zu schreiben:
where Nachname  like  "meier*"
da m. E. das %-Zeichen in Kombination mit LIKE beim SQL-Server angesiedelt wäre...
			
			
			
				Hallo database,
mit where Nachname  like  "meier*" funktioniert es bei mir nicht.
Die Tabelle bleibt leer. Egal ob ich das * vor oder hinter meier setze.
Geht nur mit dem % Zeichen und auch nur wenn es hinter meier sitzt also so
SELECT     Nachname
FROM         tabNamen where Nachname   like  'meier%'
shadock
			
			
			
				Hallo datebase,
Du hast recht. Habe mir meine Tabelle noch mal angesehen und festgestellt
das hinter jedem meier noch fünf leerstellen sind. Habe versucht die Leerstellen
weg zu bekommen aber das geht nicht. Wenn ich mir die Tabelle wieder mit
"Edit Top 200 Rows" ansehe sind die Leerstellen wieder da.
shadock
			
			
			
				Hallo,
nochmal ....  du verwendest kein Access! Warum schreist du nicht sofort!
Edit Top 200 Rows kenne ich auch nur vom SQL-Server!
Zitatdas hinter jedem meier noch fünf leerstellen sind. 
auch das kenne ich nicht von Access!
ZitatIch habe eine kleine Tabelle "tabNamen" mit den Spalten
"ID" int  "Name" nchar(1)   "Nachname" nchar(10)
ist ebenfalls SQL-Server....
somit ist auch klar woher die Leerstellen hinter meier kommen - char - Spalten behalten im Gegensatz zu varchar ihre einmal eingestellte Länge, nicht verwendete Zeichen werden NICHT abgeschnitten.
Mein Fehler war, dass ich die ersten 2 Zeilen von deinem Startposting nicht genau gelesen hatte.
Natürlich funktioniert es nur mit 
Zitatwhere Nachname   like  'meier%'
der SQL-Server kennt den * nicht!
Folgendes:
Ändere den Feldnamen 'Name' in Vorname um Problemen mit reservierten Namen vorzubeugen und um die Leerzeichen weg zu bekommen ändere den Datentyp für die beiden Spalten Vorname und Nachname von nchar(10) auf varchar(25). Werden nicht alle Zeichen benötigt zwackt der SQL-Server die freibleibenden Stellen selbsständig ab un verschwendet somit keinen Speicherplatz.
Ausserdem entfallen auch weitere Probleme im Zusammenhang mit Leerzeichen vor und nach einer Zeichenfolge.
...oh Mann - und ich probier hier herum wie Hugo und zweifle schon an mir selbst ...   ;D
			
				Hallo database,
tut mir leid das habe ich ganz vergessen zu erwähnen. 
Habe hier im Forum -> Datenbanken -> MS SQL-Server gefunden und dachte das
wäre dann klar. Werde es das nächste mal dazuschreiben.
Das mit varchar funktioniert. Vielen Dank fuer Deine Hilfe.
shadock
			
			
			
				Hallo shadock,
war bitte nicht als Kritik an dir gemeint!
Wie schon geschrieben - mein Fehler ... das mit dem gleich schreien war als Scherz gedacht! ;)
Alles OK - Greets
Peter
			
			
			
				Greets zurueck
shadock