Kennt jemand das Äquivalent zu dieser TSQL im MySQL-Sprachgebrauch?
Ich versuche, den ersten Buchstaben jedes Eintrags groß zu schreiben.
UPDATE tb_Company SET CompanyIndustry = UPPER(LEFT(CompanyIndustry, 1))
+ SUBSTRING(CompanyIndustry, 2, LEN(CompanyIndustry))
mysql
string
capitalize
Kinn
quelle
quelle
Vincents ausgezeichnete Antwort für Versalien ersten Brief funktioniert gut für die ersten Buchstaben nur Kapitalisierung einer ganzen Spalte String ..
ABER was ist, wenn Sie den ersten Buchstaben JEDES Wortes in den Zeichenfolgen einer Tabellenspalte in Großbuchstaben schreiben möchten ?
zB: "Abbeville High School"
Ich hatte in Stackoverflow keine Antwort darauf gefunden. Ich musste ein paar Antworten zusammenschustern, die ich in Google gefunden hatte, um eine solide Lösung für das obige Beispiel zu finden. Es ist keine native Funktion, sondern eine vom Benutzer erstellte Funktion, die MySQL Version 5+ zulässt.
Wenn Sie einen Super / Admin-Benutzerstatus unter MySQL haben oder eine lokale MySQL-Installation auf Ihrem eigenen Computer haben, können Sie eine FUNKTION (wie eine gespeicherte Prozedur) erstellen, die sich in Ihrer Datenbank befindet und in allen zukünftigen SQL-Abfragen auf jedem Teil der Datenbank verwendet werden kann db.
Mit der von mir erstellten Funktion kann ich diese neue Funktion, die ich "UC_Words" genannt habe, genau wie die integrierten nativen Funktionen von MySQL verwenden, um eine vollständige Spalte wie diese zu aktualisieren:
Um den Funktionscode einzufügen, habe ich beim Erstellen der Funktion das MySQL-Standardtrennzeichen (;) geändert und es nach dem Skript zur Funktionserstellung wieder auf den Normalwert zurückgesetzt. Ich persönlich wollte auch, dass die Ausgabe auch in UTF8 CHARSET erfolgt.
Funktionserstellung =
Dies ist ein Vergnügen, wenn Sie Großbuchstaben für mehrere Wörter in einer Zeichenfolge ausgeben.
Angenommen, Ihr MySQL-Login-Benutzername verfügt über ausreichende Berechtigungen. Wenn dies nicht der Fall ist und Sie auf Ihrem PC keine temporäre Datenbank zum Konvertieren Ihrer Tabellen einrichten können, fragen Sie Ihren Shared Hosting-Anbieter, ob diese Funktion für Sie festgelegt wird.
quelle
CHARSET utf8_general_ci
sollte geändert werden zuCHARSET utf8
(mindestens am 5.7)Illegal mix of collations for operation 'concat'
also denke ich , korrigiere einfach den Zeichensatz oder entferne ihn und mache ihn auf Standard.Sie können eine Kombination von verwenden
UCASE()
,MID()
undCONCAT()
:quelle
SELECT CONCAT(UCASE(MID('TEST',1,1)),MID('TEST',2));
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_mid
quelle
http://forge.mysql.com/tools/tool.php?id=201
Wenn die Spalte mehr als ein Wort enthält, funktioniert dies nicht wie unten gezeigt. Die oben erwähnte UDF kann in einem solchen Fall helfen.
Oder vielleicht hilft dieser ...
https://github.com/mysqludf/lib_mysqludf_str#str_ucwords
quelle
Das funktioniert gut.
quelle
quelle
FUNKTION ERSTELLEN:
BENUTZEN SIE DIE FUNKTION
quelle
quelle
Das sollte gut funktionieren:
quelle
quelle
Die obige Anweisung kann für Großbuchstaben CAPS und Rest als Kleinbuchstaben verwendet werden.
quelle
Uso algo simples assim;)
quelle