2017-05-02 1 views

答えて

3

LENは、組み込みのMySQL関数の有効な名前ではありません。

LENという名前の関数を使用する場合は、その名前の関数を作成する必要があります。

MySQLには、組み込みのCHAR_LENGTH関数が用意されています。しかし、それを使う必要はありません。

SUBSTRING関数は3番目の引数を必要としません。私は、これはあなたの目的のために働くだろうと思う:

SUBSTRING(Column,2) 

https://dev.mysql.com/doc/refman/5.7/en/string-functions.html

+0

親愛なるspencer7593私は(あなたの提案と@gviewの提案の両方を取って、完璧に働いた次のクエリ、UPDATE表 SET列=連結方式の(UPPER(LEFT(カラム、1))、LOWER(SUBSTRINGを作りました列2))); – Schwann

+0

@Schwann:あなたの質問に答えられたら、答えを "受け入れる"ことができます。そして、それはStackOverflowにぶら下がった、あまり「未回答の」質問です。 https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – spencer7593

+0

@ spencerr7593の場合、答えは各列の最初の単語を変更するだけで、列全体が修正されるわけではありません。なぜ私はそれに答えてマークしなかったのですか – Schwann

2

説明したように、あなたの構文が正しくありません。これを解決するには、

UPDATE Table SET Column = CONCAT(UCASE(LEFT(Column, 1)), SUBSTRING(Column, 2)); 

LENで問題を修正しても、MySQLでは「+」を使用できません。

0

これは、@ spencer7593と@gviewの提案を組み合わせた最終的な作業クエリです。

UPDATE Table SET Column=Concat(UPPER(LEFT(Column,1)), LOWER(SUBSTRING(Column,2))); 
関連する問題