Akshay malvankar Ответов: 2

Sql запрос не работает в mysql


Ниже приведен мой SQL-запрос

Select CONVERT(nvarchar(4), t/60) + '.' + CONVERT(nvarchar(4), t % 60) as t
		 from (SELECT avg(DATEDIFF(second,tur.start,tur.[end])) as t FROM tblUserTracking tur where tur.start
		 between CONVERT(VARCHAR(11),@FromDt,101)
		 and DATEADD(DAY,1,CONVERT(VARCHAR(11),@Todt,101)) ) as tbl1


Я конвертировал в Mysql

Select CAST(t/60) , '.' , CAST(t % 60) as t
		 from (SELECT avg(TIMESTAMPDIFF(second,tur.start,tur.[end])) as t FROM tblUserTracking tur where tur.start
		 between p_FromDt
		 and p_Todt ) as tbl1


Это дает мне ошибку

выберите не правильную версию сервера позиции

Что я уже пробовал:

Я много пробовал и все равно ничего не получал

Richard MacCutchan

Какая ошибка? Если вы получаете сообщение об ошибке, то, пожалуйста, добавьте точное сообщение к вашему вопросу.

Akshay malvankar

"select" недопустим в этой позиции для данной версии сервера, за исключением : '(', с

2 Ответов

Рейтинг:
2

RickZeeland

Я думаю, что синтаксис CAST() неверен, см.: Функция MySQL CAST() [^]


Рейтинг:
12

Maciej Los

Как уже упоминал Рикзиленд, и я показал вам в своем предыдущий ответ[^], ты делаешь это неправильно! Итак, это:

Select CAST(t/60) , '.' , CAST(t % 60) as t

становится к:
SELECT CONCAT(CAST(t/60 AS CHAR) , '.' , CAST(t % 60 AS CHAR)) as t


Я бы настоятельно рекомендовал купить книгу или/и почитать Документация MySQL[^].