Можем ли мы использовать функцию convert (int, Employeenumber) в ColdFusion Query of Query? - PullRequest
0 голосов
/ 26 октября 2018

Можем ли мы использовать функцию convert(int,Employeenumber) в запросе ColdFusion для функции запроса? Когда я пытаюсь это сделать, я получаю сообщение об ошибке.

Я получаю записи из хранимой процедуры. Когда я пытаюсь повторно запросить эти записи с помощью запроса, используя функцию convert(), возникает ошибка.

На самом деле столбец имеет тип varchar, и я хочу преобразовать этот столбец в int. Тогда я хочу заказать по этой колонке, но она не работает. Вот QofQ:

<cfquery name="qEmployees" dbtype="query">
    Select convert(int,employeenumber) as employeenumber
    ...
</cfquery>

1 Ответ

0 голосов
/ 29 октября 2018

Из разговора:

CONVERT() обычно зависит от языка SQL, тогда как CAST() является более общим методом, по сути, выполняющим те же действия, но в данном случае это также то, что механизм QoQ решил использовать.

Важно помнить, что версия SQL в ColdFusion Query of Query отличается от традиционной SQL. Есть много вещей, которые вы не можете сделать с Query of Query, и я определенно не рекомендовал бы это для больших исходных наборов данных, поскольку это операция в памяти.

Кроме того, эта проблема не является проблемой преобразования типов данных. Кажется, это проблема с NULL в данных. ColdFusion, особенно что-либо старше, чем версия ACF 2018, не очень хорошо работает с NULL s. QoQ не имеет функциональности ISNULL() или COALESCE(), и обходные пути, вероятно, будут более сложными, чем они того стоят. Проще всего было бы изменить исходный базовый запрос, чтобы он возвращал необходимые значения.

...