Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

SQL-maximale Feldlänge?

502 views
Skip to first unread message

Matthias Frey

unread,
Jan 17, 2003, 11:53:31 AM1/17/03
to
Hallo,
ich bin neu hier und weiß nicht so recht ob ich hier richtig bin.
Mach gerade ein Progrämmchen für mich mit Delphi7, die Datenbank ist
mit Access.
Die Fragen, die ich hier aber stellen möchte, beziehen sich aber
auf SQL selber. Bin ich hier da richtig?

Aktuelle Frage:
Ich möchte die maximale Länge eines Feldes ermitteln.
Ich kann mit "select Was from Todo" alle Felder ermitteln. Wie
bekomme ich da die maximale Länge raus?
Oder wie kann ich nach dieser Länge sorieren?

(Die Feldlänge habe ich mal auf 255 gesetzt, das ist aber viel zu
lange)

Danke schon mal.

Grüße
Matthias

Matthias Frey

unread,
Jan 17, 2003, 4:15:33 PM1/17/03
to
Am 17.01.2003 19:10 schrieb Kathinka Wenz:
> Matthias Frey <in...@Matthias-Frey.de> wrote:
> Da es sich dann auf SQL für Access bezieht, eher nicht, denn ein
> Standard-SQL gibt es nicht, jede DB backt sein eines Brötchen.

Auch bei so - für mich - primitive Abfragen? :-(

>>Ich möchte die maximale Länge eines Feldes ermitteln.
>>Ich kann mit "select Was from Todo" alle Felder ermitteln. Wie
>>bekomme ich da die maximale Länge raus?
>

> In Oracle geht das mit length(feldname).


>
>>Oder wie kann ich nach dieser Länge sorieren?
>

> Indem du ORDER BY length(feldname) eingibst. Aber wozu, wenn ich dich
> richtig verstehe, willst du doch eh nur den Maximal-Wert ermitteln, um
> die Länge des Feldes festzusetzen, oder? Da tut es auch ein MAX.

Ja, aber es gibt einige wenige, die kann ich auch noch kürzen.
Im Feld "Was" steht eine kurze Bezeichnung, das Feld "Bemerkung" ist
eine Memo, da kann man dann labern.

> So, jetzt hab ich ein wenig die Hilfe bei Access durchforstet (würde ich
> dir in solchen Fällen auch ans Herz legen), und hab dabei die Funktion
> LEN gefunden. Die scheint zu tun, was du brauchst.

Bei mir kommt bei LEN nur die Visual Basic Funktion - nichts mit SQL.

> SELECT len(feld1)
> FROM Tabelle1
> ORDER BY len(feld1)
>
> oder
>
> SELECT Max(Len(feld1)) AS Ausdr1
> FROM Tabelle1

SELECT len(Was), Was, Bemerkung
FROM Todo
order by len(Was);

War dann das was ich wollte.

>>(Die Feldlänge habe ich mal auf 255 gesetzt, das ist aber viel zu
>>lange)
>

> Dabei ist eigentlich nicht wichtig, was jetzt in der DB ist, sondern was
> voraussichtlich eingetragen wird.

Muss man sich halt kurz fassen ;-) Es gibt ja noch das Memo.

> Gruß, Kathinka

Danke, Matthias

Matthias Frey

unread,
Jan 18, 2003, 12:07:36 PM1/18/03
to
Am 18.01.2003 09:38 schrieb Kathinka Wenz:
>>Auch bei so - für mich - primitive Abfragen? :-(
>
> Ja sicher, das gehört in die Access-Gruppe. Wie du siehst, unterscheidet
> es sich schon bei so simplen Anfragen.

Wozu dann noch das *S*QL? :-(

> Jemand aus der Access-Gruppe hätte LEN vermutlich sofort gewußt. Aber
> ich verstehe auch dein Problem, nur wenige in der Access-Gruppe haben
> sich je mit SQL beschäftigt.

Echt? NBun ja, die andere Art und Weise wie man Abfragen macht, habe
ich nie verstanden?

>>Bei mir kommt bei LEN nur die Visual Basic Funktion - nichts mit SQL.
>

> Häh? *grübel* Ich glaub, als ich das Stichwort gefunden hab, hab ich gar
> nicht weiter gelesen, sondern es sofort ausprobiert. *g* War anscheinend
> nicht dumm.

;-)

> Ich geb zu, dass es immer schwierig ist, nach etwas zu suchen, von dem
> man a) nicht weiß, ob es existiert und b) nicht weiß, wie es heißt.

Ja. Die hätten bei Access drei Hilfen machen sollen: Access-Oberfläche,
SQL und VB, das wäre das einfacher.

> Ich habe selber mal mit Delphi und Access im Hintergrund gearbeitet und
> würde dir prinzipiell raten, entweder auf InterBase umzusteigen, wenn du
> weiter mit SQL arbeiten willst, oder Visual Basic zu lernen. Access mit
> SQL ist Krampf, denn es fehlen viele Befehle, es ist wenig dokumetiert
> und manchmal verhält sich Access nachweislich falsch. Sei vorsichtig und
> überleg dir gut, ob du das wirklich willst. Access wurde nicht für SQL
> gebaut.

Nun ja, ist halt so ein Progrämmchen für mich hier, so eine ToDo-Liste.
Ist nix für andere. Mein Hauptprogramm ist Delphi und halt als DAtenbank
Flashfiler drin.

Nochmals Danke und Grüße
Matthias

Ingo Moch

unread,
Jan 19, 2003, 8:23:38 AM1/19/03
to
Hallo,

"Kathinka Wenz" schrieb:


> Matthias Frey wrote:
> > Am 17.01.2003 19:10 schrieb Kathinka Wenz:

> > > Da es sich dann auf SQL für Access bezieht, eher nicht, denn ein
> > > Standard-SQL gibt es nicht, jede DB backt sein eines Brötchen.

> Jemand aus der Access-Gruppe hätte LEN vermutlich sofort gewußt.


> Aber ich verstehe auch dein Problem, nur wenige in der Access-
> Gruppe haben sich je mit SQL beschäftigt.

Damit tust Du einigen Access'lern unrecht. Das hat frueher zugetroffen
und da Access von vielen zum Einstieg benutzt wird ist sicher auch der
prozentuale Anteil hoeher als bei anderen Systemen. Oracle laesst sich
halt nicht "mal eben" auf einen x-beliebigen PC o. ae. installieren.

> > Bei mir kommt bei LEN nur die Visual Basic Funktion - nichts mit
> > SQL.

Len() ist eine VBA-Funktion (nicht Visual Basic!) VBA findest Du in
allen Microsoft-Office-Produkten wieder.

Visual Basic hat noch eine zusaetzliche Bibliothek, in denen z. B. die
Forms-Objekte definiert sind. Access wiederum hat eine andere
zusaetzliche Bibliothek.

Alle VBA(!)-Funktionen werden durch die Jet-Engine (das der
"Treiber" fuer die *.mdb"-Dateien) unterstuetzt.

> Ich habe selber mal mit Delphi und Access im Hintergrund
> gearbeitet und würde dir prinzipiell raten, entweder auf InterBase
> umzusteigen, wenn du weiter mit SQL arbeiten willst, oder Visual

> Basic zu lernen. Access mit SQL ist Krampf, [...]

Access 97 ist da noch recht auffaellig (z. B. * statt % als Platzhalter
in Like-Ausdruecken). Das hat sich aber inzwischen geandert, was
primaer an dem "Umstieg" auf die Zugriffsbibliothek ADO liegt.
.mdb's haben aber einen Vorteil ... Sie benoetigen kein besonderes
administratives Wissen (z. B. Backups). Fuer kleiner Projekte sind
sie IMHO gut zu gebrauchen.

BTW: Oracle ist genauso ein Krampf (z. B. Tabellenverknuefungen
in SQL-Statements).

Tschau
Ingo

Ingo Moch

unread,
Jan 19, 2003, 8:26:12 AM1/19/03
to
Hallo Matthias,

"Matthias Frey" schrieb:


> Am 18.01.2003 09:38 schrieb Kathinka Wenz:

> Wozu dann noch das *S*QL? :-(

_Structured_ Query Language.

Ingo

Ingo Moch

unread,
Jan 19, 2003, 8:34:06 AM1/19/03
to
> [...] da Access von vielen zum Einstieg benutzt wird ist sicher

> auch der prozentuale Anteil hoeher als bei anderen Systemen.

Um Missverstaendnissen vorzubeugen: Der Anteil derer, die sich
_noch nicht_ (besonders) mit SQL beschaftigt haben ist sicher
hoeher.

Matthias Frey

unread,
Jan 20, 2003, 8:00:28 AM1/20/03
to
Am 19.01.2003 14:26 schrieb Ingo Moch:
> Hallo Matthias,

Hallo Ingo

> _Structured_ Query Language.

Ach so nicht Standardized ...

Mit freundlichen Grüßen
Matthias Frey
--
Christliche Software Matthias Frey; Schinkelstraße 43; D-72768 Reutlingen
Telefon Vertrieb 07121-968037 (Mo-Fr, 9:00-12:00) Fax. 07121-968038
Telefon Hotline 07121-968092 (Mo-Fr, 17:00-18:30)
EMail: mailto:in...@Matthias-Frey.de WWW: http://Matthias-Frey.de

Matthias Frey

unread,
Jan 20, 2003, 8:04:59 AM1/20/03
to
Am 18.01.2003 19:37 schrieb Kathinka Wenz:
> Matthias Frey <in...@Matthias-Frey.de> wrote:
>>Wozu dann noch das *S*QL? :-(
>
> Hey, beschwer dich bei Mircosoft.

Nö, hat keinen Sinn.

>>Nun ja, ist halt so ein Progrämmchen für mich hier, so eine ToDo-Liste.
>>Ist nix für andere. Mein Hauptprogramm ist Delphi und halt als DAtenbank
>>Flashfiler drin.
>

> Flashfiler? Was'n das?

Ne Datenbank für Delphi. Hat für mich den Vorteil dass alles
native Delphi ist und ich sogar den Sever in die Exe reinkompilieren
kann. Keine DLLs, keine OCS, und keine Registryeinträge nötig. :-)
(Und solange ich noch die Hotline selbst mache meide ich das)

> Und wo spielt Access da eine Rolle?

Gar nicht :-) Wollte damit nur sagen, dass sich da wo es drauf an
kommt auch nicht Access benutze

> Auch zum Üben und Rumspielen würde ich die Finger von Access lassen und
> InterBase nehmen. Man hat einfach mehr davon.

Ist mir zum rumspielen zu viel Aufwand.
Ich will ja nun nicht nur rumspielen, Ergebnisse soll mein Progrämmchen
schon bringen.

Herzliche Grüße
Matthias

Matthias Frey

unread,
Jan 21, 2003, 3:53:19 AM1/21/03
to
Am 20.01.2003 18:31 schrieb Kathinka Wenz:
> Matthias Frey <in...@Matthias-Frey.de> wrote:
>
>
>>>Auch zum Üben und Rumspielen würde ich die Finger von Access lassen und
>>>InterBase nehmen. Man hat einfach mehr davon.
>>
>>Ist mir zum rumspielen zu viel Aufwand.
>
>
> Ich habe IIRC eine tunde gebraucht, eine DB zu installieren.

Du vielleicht. Ich brauch da sicherlich Tage dazu.
Du hast das sicher schon öfters gemacht. Ich muss das Ding erst suchen
installieren, in Betrieb nehmen, auf zwei PCs.
Dann dazu noch die Tabellen anlegen. In Access weiß ich wie es geht.
Bei Interbase keine Ahnung.

>>Ich will ja nun nicht nur rumspielen, Ergebnisse soll mein Progrämmchen
>>schon bringen.
>

> Ergebnisse mit InterBase zu erzeugen war nicht wirklich schwer. Aber
> mach halt, was du willst, nur wein nicht, wenn Access dich ärgert. ;-)

Werds versuchen. Ist für mich ja kein kritisches Projekt.

Immerhin habe ich Jahre mit einem auf Access basierenden
Warenwirtschaftsystem gearbeitet. Das war zwar sehr zum ärgern,
aber Access war daran sicher nicht schuld. ;-)

Danke für alles.

Herzliche Grüße
Matthias

Dieter Nöth

unread,
Jan 22, 2003, 9:47:05 AM1/22/03
to
Matthias Frey wrote:
> > _Structured_ Query Language.
>
> Ach so nicht Standardized ...

Es heisst offiziell "Standard Query Language", aber darüber sind sich
die meisten nicht im klaren, das ist aber auch nicht wichtig ;-)

Dieter

Dieter Nöth

unread,
Jan 24, 2003, 9:46:57 AM1/24/03
to
Kathinka Wenz wrote:
>>Es heisst offiziell "Standard Query Language", aber darüber sind sich
>>die meisten nicht im klaren, das ist aber auch nicht wichtig ;-)
>
> Und woher weißt du dann, das es offiziell so heißt und nicht anders,
> wenn sie meisten sich eh nicht darüber im Klaren sind?
>
> Wir hatten vor kurzem eine Diskussion darüber, in der einige Quellen für
> beides geboten wurden. Nur offen blieb irgendwie, wer jetzt die
> "offizielle Übersetzung" liefert.

Hier in der NG das letzte Mal 10/2002...

1974 gab's ein Paper von IBM's D. Chamberlin/R. Boyce:
"SEQUEL: A Structured English Query Language"
(gefolgt von SQUARE "Specifying Queries as Relational Expressions" und
SEQUEL/2)

Implementiert wurde SEQUEL dann in IBM's "System R"

Da der Name SEQUEL schon vergeben war, wurde es aus lizenzrechtlichen
Gründen umbenannt in SQL:

http://www.mcjones.org/System_R/

Der ISO Standard sagt nirgendwo was aus über die Bedeutung der Abkürzung
SQL. Eine Suche nach "Structured" oder "Standard Query Language" in den
PDF-files von SQL:1999 findet nichts.

Beim letzten Mal hab ich noch geschrieben:
> Es scheint aber eher "Standard" zu sein, da z.B. Jim Melton (und das
> ist der Editor des Standards) in seinem Buch
> "SQL:1999 Understanding Relational Language Components" sagt:
> 'No doubt, this is the source of the popular belief that SQL stands
> for Structured Query Language and is pronounced "sequel"'


Jetzt hab ich aber heute den zweiten Teil des Buches geliefert bekommen
"Advanced SQL:1999 Understanding Object-Relational and Other Advanced
Features" und da schreibt Jim Melton, daß es auch nicht "Standard" heißt
sondern weder Abkürzung noch Akronym ist ;-)
"If you really need the name to be an acronym, I suggest that it could
simply stand for 'SQL Query Language', one of those recursive acronyms"
Also ähnlich wie GNU.

> Ich würde weder für das eine noch das andere die Hand ins Feuer legen
> und bleibe für mich persönlich bei Structured, wie ich es 1995 bei IBM
> gelernt habe.

Solange du nicht 'siequel', sondern 'es ku el' sagst ;-)

Dieter

Kay Kanekowski

unread,
Jan 25, 2003, 4:09:46 PM1/25/03
to
Dieter Nöth <dno...@gmx.de> wrote in message news:<b0rjnl$sflkn$1...@ID-28204.news.dfncis.de>...

> Solange du nicht 'siequel', sondern 'es ku el' sagst ;-)

Hallo,

ich hab' mal 1999 auf der Oracle Open World in Amsterdam gesessen und
vorne sprach dauernd einer von 'pielsiekwell', es kostete mich doch
einige Zeit, um das aufzulösen.
Aber ich denke, im englisch-amerikanischen Sprachraum sagen sie alle
'siequell', besonders nett bei Telefonkonferenz mit französischen und
indischen Teilnehmern, was bei Oracle nicht selten der Fall ist.

Kay,
der seit 2 Wochen DB2 auf einem OS/390 installieren darf und sein
siekwellplass jetzt schon vermisst, da gibt's wohl nur spuhfie...

Shaza Dieab

unread,
Feb 1, 2023, 7:41:45 AM2/1/23
to

Shaza Dieab

unread,
Feb 1, 2023, 7:44:37 AM2/1/23
to
Matthias Frey schrieb am Freitag, 17. Januar 2003 um 17:53:31 UTC+1:
Hallo,
Wenn Sie ein Antwort bekommen wie ich die maxlänge eines Feldes Programmieren kann. Dann können Sie vllt mir es schreiben. Dankeschön

Jörg Burzeja

unread,
Feb 2, 2023, 1:19:38 PM2/2/23
to
Am 01.02.2023 um 13:41 schrieb Shaza Dieab:

>> ich bin neu hier und weiß nicht so recht ob ich hier richtig bin.
>> Mach gerade ein Progrämmchen für mich mit Delphi7, die Datenbank ist
>> mit Access.
>> Die Fragen, die ich hier aber stellen möchte, beziehen sich aber
>> auf SQL selber. Bin ich hier da richtig?
>> Aktuelle Frage:
>> Ich möchte die maximale Länge eines Feldes ermitteln.
>> Ich kann mit "select Was from Todo" alle Felder ermitteln. Wie
>> bekomme ich da die maximale Länge raus?
>> Oder wie kann ich nach dieser Länge sorieren?
>> (Die Feldlänge habe ich mal auf 255 gesetzt, das ist aber viel zu
>> lange)
>> Danke schon mal.

https://learn.microsoft.com/de-de/sql/t-sql/functions/len-transact-sql?view=sql-server-ver16

https://learn.microsoft.com/de-de/sql/t-sql/functions/datalength-transact-sql?view=sql-server-ver16


0 new messages