Groß- und Kleinschreibung in MySQL

  • geschlossen

  • DJPM1
  • 1729 Aufrufe 3 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Groß- und Kleinschreibung in MySQL

    Hallo,
    Ich bau gerade ein Suche für meine mysql DB, funktioniert auch soweit.
    Jetzt dachte ich mir, dass ich die Suchanfrage mit "strtolower" kleinschreibe und auch während der suche die ganze Datenbank "kleinschreibe", da man ja nicht weiss wie was geschrieben wurde groß oder klein usw., z.b.: bei der suche nach Nicknames usw. Das mit der Suchanfrage, das die kleingeschrieben wird, funktioniert auch, aber wie kann ich dem Computer sagen, dass er garnicht erst auf Groß und Kleinschreibung achtet, während er sucht??

    Ich hoffe ihr wisst wie ich das meine. ^^
    Also danke schonmal für eure Hilfe. ;)

    PS: in der sql anfrage nach dem "Where" das lower schreiben funzt i-wie nicht. -.-
    und LOWER zwischen LIKE und dem Suchwort auch nicht.

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von DJPM1 ()

  • Hi,
    sowas ist gar nicht gut, ich pack das mal in einen neuen Thread => seperated

    @topic:
    Bei MySQL ist es egal, wenn du nach "PeTer" suchst, ob "PeTer", "peter" oder "PETER" in der DB steht. Es ist also groß- und kleinschreibungsunabhängig.
    Wenn du allerdings wert darauf legst, musst du einen anderen Char-Set verwenden (*_bin)
    Ändern kannst du ihn Bsp-weise mit

    Quellcode

    1. ALTER TABLE `tabelle` CHANGE `feld` `feld` TEXT CHARACTER SET utf8 COLLATE utf8_bin NOT NULL

    So ist feld groß- und kleinschreibungsabhängig.
    Wenn du nur einzeln das in WHERE benutzen willst, kannst du das Wort BINARY verwenden:

    SQL-Abfrage

    1. SELECT `feld` FROM `tabelle` WHERE BINARY `feld` = 'PeTer'

    Mehr zum Thema hier: MySQL :: MySQL 5.1 Reference Manual :: B.5.5.1 Case Sensitivity in String Searches

    btw. LOWER und UPPER sind Funktionen, müssen also auch wie solche behandelt werden:

    SQL-Abfrage

    1. SELECT LOWER(`feld`) FROM `tabelle`


    Gruß
    Broken Sword
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Broken Sword ()