hustieboy: mySql-einträge löschen wenn endung *.mp3

hallo,

wollt mal wissen, ob es eine möglichkeit gibt tabelleneinträge mit NICHT endung: ".mp3" aus einer db erstmal rauszufiltern und dann zu löschen

irgendwie wie:
DELETE FROM table_name where tabellen_bezeichner ??ENDUNG?? != *.mp3

oder so ähnlich....

danke

hustieboy

  1. Hi ,

    wollt mal wissen, ob es eine möglichkeit gibt tabelleneinträge mit NICHT endung: ".mp3" aus einer db erstmal rauszufiltern und dann zu löschen

    klar

    In welcher Datenform liegen die Einträge denn vor? Als VarChars ?
    Wenn ja, kannst Du mit einfachen Stringoperationen diese Einträge filtern. Welches Datenbanksystem benutzt Du denn?

    so ca. je nach DBMS

    DELETE FROM [tabellenname] WHERE [spaltenname] NOT LIKE "%.mp3"

    Das ist nicht gerade die feine Art, sollte aber deinen Zwecken genügen.
    Ansonsten schau einfach mal in die Doku Deines DBMS um mehr über die dort verfügbaren Stringoperationen rauszufinden.

    ciao
    romy

    1. danke erstmal

      In welcher Datenform liegen die Einträge denn vor? Als VarChars ?
      Wenn ja, kannst Du mit einfachen Stringoperationen diese Einträge filtern. Welches Datenbanksystem benutzt Du denn?

      Einträge liegen als TEXT vor, DB-System ist mySQL

      einträge sehen etwa so aus : "/mp3/00's/"     LÖSCHEN
                                   "/mp3/00's/trackname.mp3" NICHT LÖSCHEN

      hab's erstmal mit SELECT probiert, zeigt mir aber ALLE eintäge an
      query:

      SELECT * FROM [TABLENAME] WHERE [SPALTENNAME] NOT LIKE "%.mp3"

      muß ich was im suchstring ändern ("%.mp3)" ??

      gruß hustieboy

      1. Yo hustiboy,

        hab's erstmal mit SELECT probiert, zeigt mir aber ALLE eintäge an
        query:

        SELECT * FROM [TABLENAME] WHERE [SPALTENNAME] NOT LIKE "%.mp3"

        muß ich was im suchstring ändern ("%.mp3)" ??

        versuch mal anstelle eines '%' ein '*' als joker zu benutzen, sprich:

        SELECT * FROM [TABLENAME] WHERE [SPALTENNAME] NOT LIKE '*.mp3'

        Ilja

      2. Hi Hustiboy,

        SELECT * FROM [TABLENAME] WHERE [SPALTENNAME] NOT LIKE "%.mp3"

        muß ich was im suchstring ändern ("%.mp3)" ??

        benutze Stringoperationen -
        zB. (ohne Gewähr, weil ohne Test)

        SELECT *
        FROM [TABLENAME]
        WHERE SUBSTRING_INDEX([SPALTENNAME], '.', -1); <> 'mp3'

        weitere findest Du hier:
        http://www.mysql.com/doc/en/String_functions.html

        ciao
        romy