How to use parameters in query in several places?

NKonsul :

I'm using java PreparedStatement to set two parameters in a query begin time and end time. But in my query, I need to use it in two places. Can I make some query variables or make my request shorter?

SELECT * FROM publicutilities.orders
WHERE (works_begin between '2019-05-26 09:00:00' and '2019-05-26 14:00:00' OR works_end between '2019-05-26 09:00:00' and '2019-05-26 14:00:00')

Something like this:

SELECT * FROM publicutilities.orders
VARIABLE begin_time = ?
VARIABLE end_time = ?
WHERE (works_begin between begin_time and end_time OR works_end between begin_time and end_time)
Bojmaliev :

Following this tutorial http://www.mysqltutorial.org/mysql-variables/

I think your SQL query should look like:

SET @begin_time := '2013-01-17 00:00:00';
SET @end_time := '2013-01-17 00:00:00'; 
SELECT * FROM publicutilities.orders
WHERE (works_begin between @begin_time and @end_time OR works_end between @begin_time and @end_time)

I tried it on my mysql server and it works. Hope it does on yours too.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=163305&siteId=1