2016-03-10 3 views
0

Что такое синтаксис функции декодирования() oracle для шифрования строки в Пример: - если я хочу зашифровать 'suvendu' с помощью '***' и 'mohan' с '$$$ 'для столбца имя_файла таблицы образцовDecode() в Oracle

desc samples 
Name Null  Type   
------ -------- ------------ 
EMP_ID   VARCHAR2(20) 
LNAME   CHAR(10)  
FNAME   CHAR(20)  
DEPT   CHAR(20)  
SAL NOT NULL NUMBER(12,2) 
H_DATE   DATE   
EMAIL   VARCHAR2(20) 
DESG   VARCHAR2(25) 
+0

Синтаксис DECODE, конечно, объясняется в [документации] (https://docs.oracle.com/database/121/SQLRF/functions057.htm#SQLRF00631). Что вы хотите сделать точно и почему это нужно сделать с помощью DECODE? –

+0

DECODE(); работает как (если 2-й параметр совпадает, заменяет его на 3-й параметр) и (если 4-й параметр соответствует, заменяет его 5-м параметром) и так далее ..... например. SELECT DECODE (SAL, 1, «One», 2, «Two», 99, «ninetyNine») FROM samples –

ответ

0

Обновлено (попробуйте это):

SELECT 
    DECODE(fname,'suvendu', '***', 'mohan", '$$$') AS F_NAME 
    --add other columns/column-list here if needed 
FROM 
    samples 

строка, начинающаяся с - это комментировал линия

+0

, когда я выполняю запрос, я получаю следующую ошибку: – suvendu

+0

«FROM ключевое слово не найдено, где ожидалось», это ошибка который я получил – suvendu

+0

@suvendu, попробуйте сейчас –

1

в то время как вы можете использовать DECODE справиться с этим, как в:

SELECT DECODE(FNAME, 
       'suvendu', '***', 
       'mohan', '$$$', 
          FNAME) AS DERIVED_COL 
    FROM SAMPLES 

IMO с помощью выражения CASE, является лучшим выбором

SELECT CASE FNAME 
     WHEN 'suvendu' THEN '***' 
     WHEN 'mohan' THEN '$$$' 
     ELSE FNAME 
     END AS DERIVED_COL 
    FROM SAMPLES 

, как это делает его более ясным, что происходит и легче читать.

Удачи.

+1

Хорошее предложение/напоминание о том, что _CASE_ является хорошим альтернативным выражением! – Beege

+0

Спасибо, чувак, что он работает, плз попробовал ответить на мой другой вопрос – suvendu

+0

чувак, когда он работает, но когда я попробовал SELECT DECODE (FNAME, 'suvendu', '***', 'mohan', '$$$', FNAME) AS DERIVED_COL ОТ ОБРАЗЦОВ я получил ошибку «отсутствует выражение» – suvendu