AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Vergleich größer als mit Buchstabe im Feld
Thema durchsuchen
Ansicht
Themen-Optionen

Vergleich größer als mit Buchstabe im Feld

Ein Thema von zeras · begonnen am 17. Mär 2024 · letzter Beitrag vom 17. Mär 2024
Antwort Antwort
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.643 Beiträge
 
Delphi 12 Athens
 
#1

Vergleich größer als mit Buchstabe im Feld

  Alt 17. Mär 2024, 09:13
Datenbank: SQLite • Version: 3 • Zugriff über: FireDac
Ich habe in einer Datenbank Einträge wie "S13", "S14", "S141" etc.
Kann ich mit einer Abfrage den Buchstaben weglassen und die Zahl dahinter mit ">=" vergleichen"?
Spalte ist ja als Varchar definiert.
Ansonsten muss ich neue Spalten erzeugen, wo die Zahl dann als SmallInt definiert ist. Oder gibt es noch andere Möglichkeiten?
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Papaschlumpf73
Online

Registriert seit: 3. Mär 2014
Ort: Berlin
442 Beiträge
 
Delphi 12 Athens
 
#2

AW: Vergleich größer als mit Buchstabe im Feld

  Alt 17. Mär 2024, 09:55
Aufm SQL-Server würde ich das so hier machen - bei SQLite gibt es sicher ähnliche Funktionen

SELECT TRY_CAST(SUBSTRING('S14',2, LEN('S14')-1) AS int)
bzw.
SELECT TRY_CAST(SUBSTRING(DeineSpalte,2, LEN(DeineSpalte)-1) AS int)

Also quasi den Buchstaben entfernen und den Rest in eine Zahl umwandeln.
Obwohl, die saubere Variante wäre wohl eine eigene Spalte ohne Buchstaben drin.
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.643 Beiträge
 
Delphi 12 Athens
 
#3

AW: Vergleich größer als mit Buchstabe im Feld

  Alt 17. Mär 2024, 12:11
Danke für den Tipp.
Ich wusste garnicht, dass man in den Abfragen noch solche Funktionen unterbringen kann.
Das werde ich einmal mit SQLite probieren, ob es da auch diese Möglichekeit gibt.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

AW: Vergleich größer als mit Buchstabe im Feld

  Alt 17. Mär 2024, 12:16
Jupp, wenn es so einfach ist, dann selbst zerlegen

Wenn Buchstabe nicht immer gleich, dann diesen zuerst vergleichen
und wenn gleich, dann den Rest in eine Zahl konvertieren und sie vergleichen.


Bei Google suchensqlite natural sort
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz