こんにちは私はこれをmySQLで試行しています。 SELECT IFとCASEを使ってタイトルを変更しようとしました。すべてのタイトルの説明には、説明の前に「A」が付いています。たとえ2番目の単語が子音で始まってもだから、私は説明を照会しようとしているが、 "An"で始まるような先導的な子音でそれらを編集しようとしている。ケース構文エラー
CASE
WHEN description LIKE ('A A%') THEN CONCAT('An ', TRIM(LEADING 'A ' FROM description))
WHEN description LIKE ('A E%') THEN CONCAT('An ', TRIM(LEADING 'A ' FROM description))
WHEN description LIKE ('A I%') THEN CONCAT('An ', TRIM(LEADING 'A ' FROM description))
WHEN description LIKE ('A O%') THEN CONCAT('An ', TRIM(LEADING 'A ' FROM description))
WHEN description LIKE ('A U%') THEN CONCAT('An ', TRIM(LEADING 'A ' FROM description))
END;
この特定のコードは、私にエラーコード:1064の構文を与えていました。
SELECT IF(description NOT LIKE ('A A%'), NULL, CONCAT('An ', TRIM(LEADING 'A ' FROM description))),
IF(description NOT LIKE ('A E%'), null, CONCAT('An ', TRIM(LEADING 'A ' FROM description))),
IF(description NOT LIKE ('A I%'), NULL, CONCAT('An ', TRIM(LEADING 'A ' FROM description))),
IF(description NOT LIKE ('A O%'), NULL, CONCAT('An ', TRIM(LEADING 'A ' FROM description))),
IF(description NOT LIKE ('A U%'), NULL, CONCAT('An ', TRIM(LEADING 'A ' FROM description)))
FROM film_text;
この特定のコードブロックは別の列を返しますが、このすべてを1つの列に照会しようとしています。
私のIFブロックが戻る何:
最初の 'CASE'式が正しいトラックに表示されます。その出力は何ですか? –
[here](http://www.inmotionhosting.com/support/website/database-troubleshooting/error-1064)のリストを実行すると、問題の追跡に役立ちます。 –
あなたが助けてくれたすべての回答をupvoteし、最も有用な回答を受け入れることをお勧めしますか?私はあなたがいくつかの質問をしたことを見ていますが、決して答えをアップアップしたり受け入れたりしませんでした。これにより、コミュニティや同様の質問をする可能性のある他のユーザーに役立ちます。 – alttag