Ansible how to get output as variable without brackets and u

I have the result of a query from ansible and I tried to use the result as a variable

My playbook is like this

- name: Query
  oracle_sql:
    username: "{{ user }}"
    password: "{{ password }}"
    service_name: "{{ service_name }}"
    sql: "select smth  from table where smth like 'OK_%'"
  register: smth"

the result is formatted as below

"msg": [
    [
        "SMTH"
    ]
]

no stdout, no stderr

after this I want to use my variable

- name: echo
  shell: echo {{ smth.msg[0] }} > /tmp/test

and the outuput is like this:

[uSMTH]

How to remove brackets and ā€˜uā€™ , I know it s a list but I can t get rid of this

I tried to convert in yaml or json format no luck , this last add some retrun carriage with

> to_yaml 
> to_json
>to_nice_yaml
> to_nice_json

Any advice ?

I have the result of a query from ansible and I tried to use the result as a variable

My playbook is like this

>-name:Queryoracle_sql:username:"{{ user }}"password:"{{ password }}"service_name:"{{ service_name }}"sql:"select smth
from table where smth like 'OK_%'"register:smth"|

the result is formatted as below

>"msg":[["SMTH"]]|

no stdout, no stderr

after this I want to use my variable

>-name:echo shell:echo {{smth.msg[0]}}>/tmp/test|

and the outuput is like this:

[uSMTH]

How to remove brackets and 'u' , I know it s a list but I can t get rid of this

I tried to convert in yaml or json format no luck , this last add some retrun carriage with

>>to_yaml |to_json |to_nice_yaml |to_nice_json|

Any advice ?

Using smth[0][0] should do the trick (first field in the first sql record).

Regards
         Racke

it works thanks a lot can you explain to me please about the [0][0]
thanks in advance

it works thanks a lot can you explain to me please about the [0][0]
thanks in advance

OK, say you have the following query:

select first_name, last_name from test_table

With two results:

Test | Tester
Foo | Bar

In your smth variable it will look like that:

[["Test", "Tester"]["Foo", "Bar"]]

smth[0][0] = Test
smth[0][1] = Tester
smth[1][0] = Foo
smth[1][1] = Bar

The first index is for the SQL record, the second index for the fields you put into the select statement.

Regards
        Racke