我的应用程序(Ruby 1.9.2)可能会引发不同的异常,包括网络连接中断.我rescue Exception => e
,然后case/when
以不同的方式处理它们,但是几个错误直接通过我的案例else
.
rescue Exception => e
p e.class
case e.class
when Errno::ECONNRESET
p 1
when Errno::ECONNRESET,Errno::ECONNABORTED,Errno::ETIMEDOUT
p 2
else
p 3
end
end
Run Code Online (Sandbox Code Playgroud)
打印:
Errno::ECONNRESET
3
Run Code Online (Sandbox Code Playgroud) 我有两个字段nnmu和nnmi,
if nnmu is equal to 1, I need to return naziv_mesta from **mesto_istovara**,
else if it's =0 I need to return naziv_mesta from mesto_utovara table
Run Code Online (Sandbox Code Playgroud)
反转,
if nnmi is equal to 1, then I need to return naziv_mesta from **mesto_utovara,**
else if it's =0 need to return naziv_mesta from mesto_istovara.
Run Code Online (Sandbox Code Playgroud)
起初一切看起来都很好,但不知何故它混合了值,当nnmi和nnmu都等于0时它起作用,但当任何一个值为1时它返回无意义.有帮助吗?
select u.id_utovar,
u.datum_isporuke,
u.broj_otpremnice,
r.naziv_robe,
CASE u.nnmu
WHEN u.nnmu ='0' THEN mu.naziv_mesta
WHEN u.nnmu ='1' THEN m.naziv_mesta
ELSE 'GRESKA'
END as mesto_utovara,
CASE u.nnmi
WHEN u.nnmi …
Run Code Online (Sandbox Code Playgroud) 我有这个标签表
CREATE TABLE IF NOT EXISTS `Tags` (
`id_tag` int(10) unsigned NOT NULL auto_increment,
`tag` varchar(255) default NULL,
PRIMARY KEY (`id_tag`),
UNIQUE KEY `tag` (`tag`),
KEY `id_tag` (`id_tag`),
KEY `tag_2` (`tag`),
KEY `tag_3` (`tag`),
KEY `tag_4` (`tag`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2937 ;
INSERT INTO `Tags` (`id_tag`, `tag`) VALUES
(1816, '(class'),
(2642, 'class\r\n\r\nâ?¬35'),
(1906, 'class\r\nif'),
(1398, 'class'),
(2436, 'class)'),
(1973, 'class:\n1.'),
(2791, 'classes'),
(1325, 'New'),
(2185, 'pack'),
(1905, 'packed'),
(1389, 'WebClass');
Run Code Online (Sandbox Code Playgroud)
我想取其中标签匹配关键字的所有记录class
或pack
或new
与这表明该3个关键字的实际与标记字段匹配的另一场一起.
以下查询未提供正确的结果查询1
select …
Run Code Online (Sandbox Code Playgroud) 我有SELECT
这些表达式的Postgres 语句:
,CASE WHEN (rtp.team_id = rtp.sub_team_id)
THEN 'testing'
ELSE TRIM(rtd2.team_name)
END AS testing_testing
,CASE WHEN (rtp.team_id = rtp.sub_team_id)
THEN 'test example'
ELSE TRIM(rtd2.normal_data)
END AS test_response
,CASE WHEN (rtp.team_id = rtp.sub_team_id)
THEN 'test example #2'
ELSE TRIM(rtd2.normal_data_2)
END AS another_example
Run Code Online (Sandbox Code Playgroud)
在我的特定查询中有5个字段,其输出取决于是否rtp.team_id = rtp.sub_team_id
计算为true.我CASE
一遍又一遍地重复具有相同条件的陈述.
有没有什么方法可以组合这些CASE
表达式来一次切换多列的输出?
我找到了一个在Django模板中有一个'switch'标签的链接,但我想知道如果没有它可以以某种方式实现.只使用Django附带的东西?基本上还有其他方法,然后使用多个'if'或'ifequal'语句?
提前感谢任何提示/建议.
我有以下代码,但是当我输入"12"时,我仍然得到"你是一个老人".不是9 - 15号码9到15号吗?如何处理一个案例的多个值?
int age = Convert.ToInt32(txtBoxAge.Text);
switch (age)
{
case 1 - 8:
MessageBox.Show("You are only " + age + " years old\n You must be kidding right.\nPlease fill in your *real* age.");
break;
case 9 - 15:
MessageBox.Show("You are only " + age + " years old\n That's too young!");
break;
case 16-100:
MessageBox.Show("You are " + age + " years old\n Perfect.");
break;
default:
MessageBox.Show("You an old person.");
break;
}
Run Code Online (Sandbox Code Playgroud) 我有一个工作查询,按硬件模型和结果对数据进行分组,但问题是有很多"结果".我试图将其减少到"如果结果= 0然后保持为0,否则将其设置为1".这通常有效,但我最终得到:
day | name | type | case | count
------------+----------------+------+------+-------
2013-11-06 | modelA | 1 | 0 | 972
2013-11-06 | modelA | 1 | 1 | 42
2013-11-06 | modelA | 1 | 1 | 2
2013-11-06 | modelA | 1 | 1 | 11
2013-11-06 | modelB | 1 | 0 | 456
2013-11-06 | modelB | 1 | 1 | 16
2013-11-06 | modelB | 1 | 1 | 8
2013-11-06 …
Run Code Online (Sandbox Code Playgroud) 我编写一个SP作为参数列接受排序和方向.
我不想使用动态SQL.
问题是设置方向参数.
这是部分代码:
SET @OrderByColumn = 'AddedDate'
SET @OrderDirection = 1;
…
ORDER BY
CASE WHEN @OrderByColumn = 'AddedDate' THEN CONVERT(varchar(50), AddedDate)
WHEN @OrderByColumn = 'Visible' THEN CONVERT(varchar(2), Visible)
WHEN @OrderByColumn = 'AddedBy' THEN AddedBy
WHEN @OrderByColumn = 'Title' THEN Title
END
Run Code Online (Sandbox Code Playgroud) 使用Python 3.哪种方法更Pythonic?转换为大写:
guess = input("\n\nEnter your guess: ")
guess = guess.upper()
print(guess)
Run Code Online (Sandbox Code Playgroud)
要么
guess = input("\n\nEnter your guess: ").upper()
print(guess)
Run Code Online (Sandbox Code Playgroud)
要么
guess = input("\n\nEnter your guess: ")
print(guess.upper())
Run Code Online (Sandbox Code Playgroud)
我也非常想知道其他任何更有效的写作方法.谢谢,非常感谢您的建议.
在JavaScript方面我是新手,我的理解是使用一个SWITCH/CASE语句比一大堆IF语句更快.
但是,我想使用带有两个变量的SWITCH/CASE语句.
我的网络应用程序有两个滑块,每个滑块有五种状态.我希望行为基于这两个变量的状态.显然,这是很多IF/THEN声明的全部内容.
我想到的一种方法是将两个变量连接成一个然后我可以SWITCH/CASE.
有没有更好的方法来使用两个变量完成SWITCH/CASE?
谢谢 !
case ×10
sql ×5
mysql ×2
postgresql ×2
c# ×1
django ×1
errno ×1
group-by ×1
javascript ×1
python ×1
python-3.x ×1
ruby ×1
select ×1
sql-like ×1
sql-order-by ×1
sql-server ×1