SELECT REPLACE(TRANSLATE(LTRIM(RTRIM('!! ATHEN !!','!'), '!'), 'AN', '**'),'*','TROUBLE') FROM DUAL;
上記の質問と、このクエリの仕組みが混同していますか?このSQLクエリはどのように機能しますか?
SELECT REPLACE(TRANSLATE(LTRIM(RTRIM('!! ATHEN !!','!'), '!'), 'AN', '**'),'*','TROUBLE') FROM DUAL;
上記の質問と、このクエリの仕組みが混同していますか?このSQLクエリはどのように機能しますか?
SELECT
REPLACE(
TRANSLATE(
LTRIM(
RTRIM('!! ATHEN !!','!')
, '!')
, 'AN'
, '**')
,'*'
,'TROUBLE')
FROM DUAL;
MySQLでは動作しません。
これは、単一の定数値を返します。 DUALは1レコードのシステムテーブルです。デュアルが常に存在するため、クエリーするテーブルが実際にない場合は、定数値を選択できます。 FROM DUALはMySQLで省略することができますが、実際にはOracleとの互換性を高めるためにMySQLに追加されています。このクエリは何をすべき
:
*
と*
に翻訳します。で各*
を置き換えます。
つまり、Oracle上で実行する場合です。 Nanne氏がコメントで指摘したように、MySQLはRTRIMの第2パラメータを受け入れません。
あなたはどう思いますか? –
私はこの質問をした理由が分かりません –
あなたはそれを実行しようとするか、いくつかの改行とインデントを入れることができます。プログラミングコードのように、クエリーは空白も許されます。 :) – GolezTrol