# Type errors when using convert\_from

**URL:** <https://community.dremio.com/t/type-errors-when-using-convert-from/12716>\
**Category:** Uncategorized\
**Created:** [January 22, 2025, 12:08am UTC](https://community.dremio.com/t/type-errors-when-using-convert-from/12716 "2025-01-22T00:08:04Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![sp2barrels](https://avatars.discourse-cdn.com/v4/letter/s/e47c2d/32.png) [@sp2barrels](https://community.dremio.com/u/sp2barrels)\
**Post date:** [January 22, 2025, 12:08am UTC](https://community.dremio.com/t/type-errors-when-using-convert-from/12716/1 "2025-01-22T00:08:04Z")

</div>

Hi All - wondering if anyone has seen this and what a useful workaround would be.

I’ve noticed that convert from does not correctly convert JSON strings into objects with correct typing, an example:

Query:  
`select (convert_from('{name: "mike", type: 124, action: "view", adminUser: false}', 'json'))`

Query result:  
`{"name": "mike", "type": "124", "action": "view", "adminUser": "false"}`

In this case, you can see both Booleans and Ints are converted to varchar.

I encountered this when trying to insert data into a semistruct field with table definition:

```auto
create table lakehouse.test.interaction_logs (
    id varchar(128), 
    interaction array(struct<"name": varchar, "type": int, "action": varchar, "adminUser": boolean>)
);

```

And insert statement:

```auto
Insert into lakehouse.test.interaction_logs VALUES
 ('b86a3524-ebd9-4886-af7a-859a8879c369', convert_from('[{name: "view-document", type: 124, action: "view", adminUser: false}]', 'json'))

```

Dremio returns the following error message:

> Table schema(id::varchar, interaction::list\<struct\<name::varchar, type::int32, action::varchar, adminUser::boolean\>\>) doesn’t match with query schema(id::varchar, interaction::list\<struct\<name::varchar, type::varchar, action::varchar, adminUser::varchar\>\>)

---

<div class="post-metadata">

**Author:** ![sp2barrels](https://avatars.discourse-cdn.com/v4/letter/s/e47c2d/32.png) [@sp2barrels](https://community.dremio.com/u/sp2barrels)\
**Post date:** [January 28, 2025, 11:11pm UTC](https://community.dremio.com/t/type-errors-when-using-convert-from/12716/2 "2025-01-28T23:11:14Z")

</div>

@balaji.ramaswamy Would you happen to have a workaround for this?

---

<div class="post-metadata">

**Author:** ![balaji.ramaswamy](https://sea2.discourse-cdn.com/flex020/user_avatar/community.dremio.com/balaji.ramaswamy/32/843_2.png) [@balaji.ramaswamy](https://community.dremio.com/u/balaji.ramaswamy)\
**Post date:** [February 11, 2025, 8:20pm UTC](https://community.dremio.com/t/type-errors-when-using-convert-from/12716/3 "2025-02-11T20:20:35Z")

</div>

@sp2barrels I get Boolean

```auto
SELECT "EXPR$0", nested_0."EXPR$0".adminUser AS adminUser
FROM (
  select (convert_from('{name: "mike", type: 124, action: "view", adminUser: false}', 'json'))
) nested_0;

```

 ![Screenshot 2025-02-11 at 2.19.39 PM](https://us1.discourse-cdn.com/flex020/uploads/dremio/original/2X/0/082f625d545310b3d5b900b043986740de9ccc82.png)
