SELECT REPLACE(TRANSLATE(LTRIM(RTRIM('!! ATHEN !!','!'), '!'), 'AN', '**'),'*','TROUBLE') FROM DUAL;
Run Code Online (Sandbox Code Playgroud)
我对以上问题如何查询这个问题感到困惑?
SELECT
REPLACE(
TRANSLATE(
LTRIM(
RTRIM('!! ATHEN !!','!')
, '!')
, 'AN'
, '**')
,'*'
,'TROUBLE')
FROM DUAL;
Run Code Online (Sandbox Code Playgroud)
它不适用于MySQL.
它将返回单个常量值.DUAL是一个包含一条记录的系统表.当你实际上没有要查询的表时,它允许你选择一个常量值,因为dual总是在那里.在MySQL中可以省略FROM DUAL,它实际上是添加到MySQL以便与Oracle更兼容.
这个查询应该做什么:
*和*.*用'TROUBLE' 代替每个所以我希望输出类似'TROUBLETHETROUBLE'.
也就是说,当你在Oracle上运行它时.正如Nanne在评论中指出的那样,MySQL不会接受RTRIM中的第二个参数.
| 归档时间: |
|
| 查看次数: |
552 次 |
| 最近记录: |