1
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是带有一条记录的系统表。它允许你选择一个常量值,当你实际上没有一个表来查询时,因为dual始终存在。 FROM DUAL可以在MySQL中省略,它实际上被添加到MySQL中以更加兼容Oracle。
此查询应该做什么:
*
和*
。*
有“麻烦”所以我期望的输出是这样的“TROUBLETHETROUBLE”。
也就是说,当你在Oracle上运行它时。正如Nanne在评论中指出的,MySQL不会接受RTRIM中的第二个参数。
你认为它有什么作用? – 2011-01-30 10:39:35
我不知道这就是为什么我问这个问题 – 2011-01-30 10:40:21