AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken MySQL und Excel-Automatismen beim Interpretieren von SQL-Statements?
Thema durchsuchen
Ansicht
Themen-Optionen

MySQL und Excel-Automatismen beim Interpretieren von SQL-Statements?

Ein Thema von Bernhard Geyer · begonnen am 4. Jul 2022 · letzter Beitrag vom 5. Jul 2022
Antwort Antwort
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#1

MySQL und Excel-Automatismen beim Interpretieren von SQL-Statements?

  Alt 4. Jul 2022, 15:08
Datenbank: MySQL • Version: 8 • Zugriff über: egal
ich will per SQL ein Feld mit Prefix zurück geben:

Code:
select '957' + matnr, matnr from mat
MS SQL macht hier wie erwartet ein String-Zusammensetzung.
MySQL (8) interpretiert das erste '957# als Zahl und das Feld matnr ebenfalls als Zahl und Addiert die beiden.
matnr ist aber er ein varchar-Feld

W T H haben sich hier die Entwickler gedacht?

Zugriff/versuch mit MySQL Workbench und HeidiSQL

Wie bekommt man diesen Excel/Access-Blödsinn bei MySQL wieder weg?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#2

AW: MySQL und Excel-Automatismen beim Interpretieren von SQL-Statements?

  Alt 4. Jul 2022, 15:14
Bei Oracle, PostGres, Firebrid, Interbase macht man's per ||

Bei MySQL: https://www.w3schools.com/Sql/func_mysql_concat.asp
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: MySQL und Excel-Automatismen beim Interpretieren von SQL-Statements?

  Alt 4. Jul 2022, 15:30
Bei MySQL scheint das ein boolean-or zu sein
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#4

AW: MySQL und Excel-Automatismen beim Interpretieren von SQL-Statements?

  Alt 4. Jul 2022, 15:53
select 'Zeichenfolge' + 'Zeichenfolgefrom tabelle geht, soweit ich das mitbekommen habe, nur bei Microsoft.

Andere rechnen bei der Verwendung von +, sofern sich die Werte links und rechts vom + in Zahlen konvertieren lassen. Andernfalls gibt's 'nen Fehler.

Standard dürfte Concat sein, wobei man hier (strenggenommen) nummerische Werte per Cast oder Convert erstmal in Zeichenfolgen umwandeln müsste.

Die Verwendung des + ist praktisch, aber man kann nicht mit zwingender Sicherheit vorraussagen, was man als Ergebnis bekommen wird.

Zeichenfolge + Zeichenfolge = Zeichenfolge

Zahl + Zeichenfolge = Zeichenfolge

Zeichenfolge + Zahl = Zeichenfolge

Aber wehe, die Zeichenfolgen lassen sich von der Datenbank implizit in Zahlen verwandeln, dann kann auch gelten:

Zeichenfolge + Zeichenfolge = Zahl

Zahl + Zeichenfolge = Zahl

Zeichenfolge + Zahl = Zahl

Und wenn man dann etwas schreibt, was mit beliebigen Datenbanken funktionieren soll: Fröhliches Fehlersuchen.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: MySQL und Excel-Automatismen beim Interpretieren von SQL-Statements?

  Alt 4. Jul 2022, 15:55
Zitat:
Die Verwendung des + ist praktisch, aber man kann nicht mit zwingender Sicherheit vorraussagen, was man als Ergebnis bekommen wird.

Zeichenfolge + Zeichenfolge = Zeichenfolge
Das liegt ja m.E. vor
Feste Zeichenfolge + varchar-Feld
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: MySQL und Excel-Automatismen beim Interpretieren von SQL-Statements?

  Alt 4. Jul 2022, 16:00
concat funktioniert.
Das genügt mir erstmal für meine One-Time Datenänderung
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#7

AW: MySQL und Excel-Automatismen beim Interpretieren von SQL-Statements?

  Alt 4. Jul 2022, 16:06
Zitat:
Die Verwendung des + ist praktisch, aber man kann nicht mit zwingender Sicherheit vorraussagen, was man als Ergebnis bekommen wird.

Zeichenfolge + Zeichenfolge = Zeichenfolge
Das liegt ja m.E. vor
Feste Zeichenfolge + varchar-Feld
Und gilt nur bei Microsoft.

Und wenn eine feste Zeichenfolge in eine Zahl umgewandelt werden kann und der Inhalt des VarChar-Feldes ebenfalls, kann durchaus auch Zahl als Ergebnis rauskommen. Kommt halt auf die Datenbank an.

Geändert von Delphi.Narium ( 4. Jul 2022 um 16:12 Uhr)
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#8

AW: MySQL und Excel-Automatismen beim Interpretieren von SQL-Statements?

  Alt 4. Jul 2022, 18:56
Vielleicht kannst Du mit irgendwelchen "Strict Mode"s mySQL etwas in Deine Richtung dressieren. (Wobei das + von MS jetzt m.E. auch nicht DER Standard ist)
Die Strict Modes sorgen jedenfalls häufiger für solide Fehlermeldungen und Verhalten, wie man es im Standard / bei den anderen gewohnt ist.
Das kann vor allem hilfreich sein, wenn man im Testumfeld agiert.
Ich finde einen harten Fehler grundsätzlich sympathischer als solchen impliziten Konvertierungsmist, der sich überall durchzieht und dann erst beim Jahresabschluss auffällt.
Da ich nie freiwillig mit mySQL arbeiten würde, kann ich keine konkreteren Hinweise liefern.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: MySQL und Excel-Automatismen beim Interpretieren von SQL-Statements?

  Alt 5. Jul 2022, 08:59
Zitat:
Vielleicht kannst Du mit irgendwelchen "Strict Mode"s mySQL etwas in Deine Richtung dressieren. (Wobei das + von MS jetzt m.E. auch nicht DER Standard ist)
Ja. sowas wäre schön. Hatte vor Jahren in VBA lange zeit mit Fehlern verbracht da dieser nicht aktiv war.
Leider kenn ich das nicht ob es sowas gibt.

Zitat:
Ich finde einen harten Fehler grundsätzlich sympathischer als solchen impliziten Konvertierungsmist, der sich überall durchzieht und dann erst beim Jahresabschluss auffällt.
Sehe ich auch so. Deshalb auch im Titel "Excel-Automatismen".
Wer ärgert sich nicht wenn im Öffnen in Excel teschnische IDs als Zahlen oder Datum interpretiert werden und man dann erstmal wieder schauen muss wie man das weg bekommt.

Zitat:
Da ich nie freiwillig mit mySQL arbeiten würde, kann ich keine konkreteren Hinweise liefern.
MySQL geht schon. Schlimm ist eher wenn man mal wieder was mit Oracle zu tun hat...
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#10

AW: MySQL und Excel-Automatismen beim Interpretieren von SQL-Statements?

  Alt 5. Jul 2022, 22:18
Zitat:
Vielleicht kannst Du mit irgendwelchen "Strict Mode"s mySQL etwas in Deine Richtung dressieren. (Wobei das + von MS jetzt m.E. auch nicht DER Standard ist)
Ja. sowas wäre schön. Hatte vor Jahren in VBA lange zeit mit Fehlern verbracht da dieser nicht aktiv war.
Leider kenn ich das nicht ob es sowas gibt.

Zitat:
Da ich nie freiwillig mit mySQL arbeiten würde, kann ich keine konkreteren Hinweise liefern.
MySQL geht schon. Schlimm ist eher wenn man mal wieder was mit Oracle zu tun hat...
Am besten, wenn Du frei (alleine) über die DB Settings bestimmen kannst, probier mal aus, ob hilfreiche Settings dabei sind. Man kann es auch per Session einstellen.
https://dev.mysql.com/doc/refman/8.0...#sql-mode-full

Ich finde mySQL geht gar nicht, ewig keine Updates, ein Meer von altem Schrottcode im Internet*, der einfach nicht aussterben will. Gruselig.
Oracle DB ist da eher einfach nur eine Preisfrage. (Und Vertrauen darauf, dass es keine unerwartetenden Strategiewechsel gibt)
Gruß, Jo
  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 23:59 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