Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.23;
Скачать: CL | DM;

Вниз

Выбор неверно заведённой информации   Найти похожие ветки 

 
Alex2006   (2006-03-02 14:35) [0]

Есть база, в которой есть поле count и поля p1,p2,p3,p4,p5 типа integer. Правило заполнения: если поле count=1, то должно быть заполнено одно из полей p1-p5, если count=2, то должно быть заполнено два поля из p1-p5 и т. д. В программе сразу не был предусмотрен контроль и, теперь необходимо с помощью SQL-запроса выдернуть неверно заполненные данные. По умолчанию значения всех указанных полей=0. Спасибо.


 
Johnmen ©   (2006-03-02 14:40) [1]

Печальная история. Я плакал. Спасибо.


 
Alex2006   (2006-03-02 14:47) [2]

Я не плачу а интересуюсь. Может есть в Oracle процедура, работающая по принципу: поле<>0, значит результат=1, иначе результат=0? Если есть, то нет проблем.


 
Vlad ©   (2006-03-02 14:48) [3]


> Alex2006   (02.03.06 14:47) [2]


> Может есть в Oracle процедура, работающая по принципу: поле<>0,
>  значит результат=1, иначе результат=0?


decode


 
Alex2006   (2006-03-02 14:51) [4]

Могу я попросить синтакисис decode с расшифровкой?


 
Vlad ©   (2006-03-02 14:56) [5]

DECODE(expr,search,result[,search,result]...[,default])

Purpose
DECODE compares expr to each search value one by one. If expr is equal to a search, then Oracle returns the corresponding result. If no match is found, then Oracle returns default. If default is omitted, then Oracle returns null.

If expr and search contain character data, then Oracle compares them using nonpadded comparison semantics. expr, search, and result can be any of the datatypes CHAR, VARCHAR2, NCHAR, or NVARCHAR2. The string returned is of VARCHAR2 datatype and is in the same character set as the first result parameter.

The search, result, and default values can be derived from expressions. Oracle evaluates each search value only before comparing it to expr, rather than evaluating all search values before comparing any of them with expr. Consequently, Oracle never evaluates a search if a previous search is equal to expr.

Oracle automatically converts expr and each search value to the datatype of the first search value before comparing. Oracle automatically converts the return value to the same datatype as the first result. If the first result has the datatype CHAR or if the first result is null, then Oracle converts the return value to the datatype VARCHAR2.

In a DECODE function, Oracle considers two nulls to be equivalent. If expr is null, then Oracle returns the result of the first search that is also null.

The maximum number of components in the DECODE function, including expr, searches, results, and default, is 255.

Examples
This example decodes the value warehouse_id. If warehouse_id is 1, then the function returns "Southlake"; if warehouse_id is 2, then it returns "San Francisco"; and so forth. If warehouse_id is not 1, 2, 3, or 4, then the function returns "Non-domestic".

SELECT product_id,
      DECODE (warehouse_id, 1, "Southlake",
                            2, "San Francisco",
                            3, "New Jersey",
                            4, "Seattle",
                               "Non-domestic")
      "Location of inventory" FROM inventories
      WHERE product_id < 1775;


 
Alex2006   (2006-03-02 14:58) [6]

Спасибо, VLAD.


 
Johnmen ©   (2006-03-02 14:59) [7]

>Могу я попросить синтакисис decode с расшифровкой?

Документация недоступна?



Страницы: 1 вся ветка

Текущий архив: 2006.04.23;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.014 c
15-1144081818
Mozart
2006-04-03 20:30
2006.04.23
А как на западе с лицензионным ПО (подумал я)....


1-1142613658
on-lite
2006-03-17 19:40
2006.04.23
Включение ScrollLock


8-1132228825
CondAL
2005-11-17 15:00
2006.04.23
проиграть события в midi файлах


15-1143993758
ArtemESC
2006-04-02 20:02
2006.04.23
С помощь чего можно...


15-1143065792
XeON
2006-03-23 01:16
2006.04.23
Немного C++ a





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский