Я использую разработчика oracle sql в первый раз. Я хочу создать представление с двумя столбцами таблицы, объединенными и разделенными косой чертой. Я сделал это в ssms, но когда я пишу тот же код для sql dev, он возвращает мне такие проблемы, как «указанный номер недействителен».
SELECT ID AS W_ID, CAST(data1 AS VARCHAR)+' - '+data2 AS W_CODE, +data3 AS W_TEXT
FROM table1
WHERE data3=1;
как я могу перевести этот запрос в Oracle?
Oracle использует стандартный оператор ||
для объединения строк, а не +
:
SELECT ID AS W_ID,
(data1 || ' - ' || data2) AS W_CODE,
data3 AS W_TEXT
FROM table1
WHERE data3 = 1;
Приведение к строке не требуется. Oracle сделает это автоматически. Если вы это сделаете, TO_CHAR()
— это более разговорный метод в Oracle, потому что он позволяет вам контролировать формат чисел и дат.
Я не понимаю назначение +
, поэтому удалил его. Возможно, вы хотите abs()
?
он возвращает мне ошибку, в которой отсутствует правая скобка.. --- редактировать: правая скобка идет перед AS! Большое спасибо!
@helloandroiddevelopers - скобки вообще не нужны.