Topic: SQL-Filter für BMK mit "_"

Hallo
Frage: ich habe BMK`s die nicht in der BMk-Liste aufgeführt werden sollen mit "_" begonnen.
Wie muß der Filter aussehen?

- mein versuch:
WHERE ....
AND Label LIKE '[_]%'
.....

Danke für eure hilfe und euch schöne Feiertage

Re: SQL-Filter für BMK mit "_"

PS:
NOT LIKE

3 (edited by Kellermorph 2025-12-23 16:23:33)

Re: SQL-Filter für BMK mit "_"

Wenn ich mich nicht irre, muss es so aussehen:

AND (label NOT LIKE '%_%')

Re: SQL-Filter für BMK mit "_"

Danke für die Antwort.
wäre es dann nicht so das alles mit einem "_" raus gefildert wird?
ich glaube mein Problem ist das underline eigendlich ein Platzhalter für SQL ist und quasie  nicht als Text erkannt wird.

Re: SQL-Filter für BMK mit "_"

Puh das übersteigt meine SQL-Kenntnis.

geht's ums Materialverzeichnis?
Da filtere ich auch Sachen raus.

ich mache es so:
Wenn die Materialen nicht rein sollen, schreibe ich unter der Rubrik Bestellnummer "bauseits" (ohne Anführungszeichen).

Mein Standard SQL-Befehl für die Materialliste sieht dann so aus:


WITH nums(n) AS (VALUES (0),(1),(2),(3),(4))
SELECT
  printf('%-8s', COALESCE(Folio, ''))                   AS Seite,
  printf('%-8s', COALESCE(label, ''))                   AS BMK,
  printf('%-20s', COALESCE(manufacturer, ''))           AS Hersteller,
  printf('%-40s',
    COALESCE(
      CASE n
        WHEN 0 THEN designation
        WHEN 1 THEN designation_auxiliary1
        WHEN 2 THEN designation_auxiliary2
        WHEN 3 THEN designation_auxiliary3
        WHEN 4 THEN designation_auxiliary4
      END, ''
    )
  ) AS Artikelnr,
  printf('%-140s',
    COALESCE(
      CASE n
        WHEN 0 THEN description
        WHEN 1 THEN description_auxiliary1
        WHEN 2 THEN description_auxiliary2
        WHEN 3 THEN description_auxiliary3
        WHEN 4 THEN description_auxiliary4
      END, ''
    )
  ) AS Artikelbeschreibung
FROM element_nomenclature_view
CROSS JOIN nums
WHERE (element_type = 'simple' OR element_sub_type IN ('coil','protection'))
  AND label NOT LIKE '%W%'
  AND (manufacturer_reference IS NULL OR manufacturer_reference NOT LIKE '%bauseits%')
  AND (
       n = 0
       OR (n = 1 AND TRIM(COALESCE(designation_auxiliary1, '')) <> '')
       OR (n = 2 AND TRIM(COALESCE(designation_auxiliary2, '')) <> '')
       OR (n = 3 AND TRIM(COALESCE(designation_auxiliary3, '')) <> '')
       OR (n = 4 AND TRIM(COALESCE(designation_auxiliary4, '')) <> '')
  )
ORDER BY CAST(folio AS INTEGER) ASC, label COLLATE NOCASE ASC, n ASC;

Dort ist dieser Abschnitt drin:
  AND (manufacturer_reference IS NULL OR manufacturer_reference NOT LIKE '%bauseits%')

damit wird es rausgefiltert.

Re: SQL-Filter für BMK mit "_"

Ich brauche es für das Betriebsmittelverzeichnis.
Ich muß oft ein bestehenden Schaltschrank mit einem neuen ergänzen und demtsprechend Umbauen.
Bestende Komponenten behalten ihre BMK sind ja auch so Beschriftet im Schrank - bei mir im Plan z.B. _Q1
Die neuen bekommen in der Erweiterung z.B. Q2
Nun erstelle ich das Betriebsmittelverzeichnis für den neuen Schrank also alle ohne "_" an der ersten Stelle
Im Plan sind dann auch zur Info alle bestehende Komponente drin.

So ist mein Vorgehen gedacht um es übersichtlich zu halten

7 (edited by info 2025-12-23 21:31:15)

Re: SQL-Filter für BMK mit "_"

Eine Lösung gefunden :-)

WHERE ....
AND Label NOT LIKE '!_%' escape '!'
.....