Dynamic expression builder using raw SQL for WHERE column LIKE string% OR
Hello!
We switched over to using Kysely in our project and it's going great so far! But I found a bit of a hitch with writing an old dynamic WHERE LIKE query.
I need to get the results of file paths stored in our system that start with a directory path. Previously in pure SQL we would generate an expression like this:
I have tried with Kysely and it looks something like this which works just fine:
My question is though... originally I tried to generate an sql expression like the following:
I got an error of the following: Argument of type RawBuilder<unknown> is not assignable to parameter of type.
Could you explain this? If I can get an sql template string set up it would make my life much easier moving forward knowing how to do this properly.
Please let me know!
Solution:Jump to solution
@Igal that works great. Leaving the full solution here for others who come looking
...
3 Replies
Hey 👋
that
where
variant expects an expression that returns SqlBool
(boolean | 1 | 0
). You can pass a return type to sql
template tag, e.g.:
Ok, I will give that a test and let you know. Thanks for ther quick response!
Solution
@Igal that works great. Leaving the full solution here for others who come looking