Executando verificação de segurança...
3

De qual banco estamos falando?

Acredito ser MySQL, pois outros bancos não possuem esta função. Por exemplo, em Oracle as funções para manipular JSON são diferentes, o mesmo para PostgreSQL.

Enfim, segundo a documentação do MySQL, o operador -> é um alias para JSON_EXTRACT(), quando chamada com 2 argumentos.

Sim, porque você pode chamar JSON_EXTRACT() com mais que 2 argumentos. Na própria documentação tem este exemplo:

SELECT JSON_EXTRACT('[10, 20, [30, 40]]', '$[1]', '$[0]');

Que no caso retorna [20, 10], pois os argumentos '$[1]' e '$[0]' são agrupados no resultado final. Com -> não é possível, pois ele só aceita um operando à direita.

Outra diferença é que o operador -> só aceita identificadores de coluna como primeiro operando, enquanto JSON_EXTRACT aceita qualquer expressão que resulte em um JSON válido.

Carregando publicação patrocinada...
1
1