Дмитрий Сергеевич (axshavan) wrote,
Дмитрий Сергеевич
axshavan

decode()

Только больной ум мог придумать такой синитаксис:
decode( expression , compare_value, return_value, [,compare, return_value] ... [,default_return_value] )
Туда же и эквивалентность NULL пустой строки. Пустая строка - это пустая строка, а NULL - это NULL.
Что касается decode - первый параметр функции сравнивается поочередно со всеми четными, кроме последнего, если всего параметров четное количество. В случае совпадения возвращается значение параметра, переданного следом за тем, с которым совпало значение первого. Если не совпало ни с чем, возвращается последний чётный параметр, если он есть. Есть в этом некое очарование, как в стихах и картинках умалишенных, продаваемых с аукционов за тысячу евро. Пользоваться этой конструкцией можно, но с трудом с непривычки.
UPD Срд, 14 Янв, 18:39 И вот, наконец, попив чаю, я соорудил три страшных конcтрукции, которые из одного поля PSGR_NAME типа "Фамилия[ Имя[ Отчество]]" делают три поля - по отдельности для имени, фамилии и отчества.
update passengers_table set PSGR_FNAME = decode(instr(PSGR_NAME, ' '), 0, '', substr(PSGR_NAME, instr(PSGR_NAME, ' ') + 1, instr(PSGR_NAME, ' ', 1, 2) - instr(PSGR_NAME, ' ') - 1));
update passengers_table set PSGR_MNAME = decode(instr(PSGR_NAME, ' ', 1, 2), 0, '', substr(PSGR_NAME, instr(PSGR_NAME, ' ', 1, 2) + 1));
update passengers_table set PSGR_NAME = decode(instr(PSGR_NAME, ' '), 0, PSGR_NAME, substr(PSGR_NAME, 1, instr(PSGR_NAME, ' ') - 1));
Наверняка это работает не совсем так, как надо, и существуют более простые способы. Тем не менее, я горд собой. Это вам не майэскуэлевский if(expr1, expr2, expr3), который понимают даже дети.
Tags: web, работа
Subscribe

  • Плёнка №199

    Всякая нудная техническая информация - что это за плёнка, чего фотографии такие контрастные, и так далее - расположена после снимка номер шесть. 1…

  • Ворчание по поводу политики

    У нас тут местное правительство ещё сильнее, чем было, ебанулось и охуело, и напринимало какие-то странные законы, которые выглядят как попытки…

  • Фотографии из мини-походика 18 июля

    На прошлой неделе мы со Славкой прошли пешком чуть больше 19 километров по южным предместьям Праги. Я выбрал маршрут таким образом, чтоб там были и…

  • Post a new comment

    Error

    Comments allowed for friends only

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 3 comments