Вам нужен дополнительный , 0
. Я также предпочитаю стандартную функцию COALESCE()
. Итак:
COALESCE(Nominator / NULLIF(Denominator, 0), 0) AS [Recidivation]
Я также думаю, что намерение может быть более ясным с case
:
(CASE WHEN Denominator = 0 or Denominator IS NULL THEN 0
ELSE Nominator / Denominator
END)
Если вы используете Bash,
cut -d $'\001' ...
работает (см. Справочное руководство Bash # 3.1.2.4 Цитирование ANSI-C ).
Другое (более переносимое) options,
cut -d `echo -e '\001'` ...
FS=`echo -e '\001'`
cut -d $FS ...
или вставка управляющего символа непосредственно с помощью ^ V, как было упомянуто Alnitak и etlerant, - в командной строке оболочки и в редакторах, таких как vi, это означает «не обрабатывать следующее, что я набираю специально».
Да, это вполне возможно.
Если вы печатаете в оболочке, нажмите ^ V
, а затем ^ A
, чтобы вставить ^ A
дословно в текущей строке вместо того, чтобы рассматривать ее как обычную команду «перейти к началу строки»:
% cat -v foo
abc^Adef^Aghi
% cut -d^A -f2 foo
def