我搜索了boost::hana::traits我找不到任何与检查类型概念相关的内容。例如 is_vector、is_Optional。hana 有没有什么工具可以简化这个?此外,我想根据结果对代码进行分支,因此需要在 hana::eval_if 中使用它。谁能给我举一些例子吗?
我想按照以下方式工作:
hana::eval_if(
is_vector(hana::decltype_(val)),
[&](auto _) {std::cout << "is vector\n";},
[&](auto _) {
hana::eval_if(
is_optional(hana::decltype_(val)),
[&](auto _) { std::cout << "is optional\n"; },
[&](auto _) { std::cout << "neither vector nor optional\n"; }
);
}
);
Run Code Online (Sandbox Code Playgroud) 我想知道为什么在这段代码中,类型i是一个空的可选项.
auto t = boost::hana::make_tuple(boost::hana::type_c<int>, boost::hana::type_c<double>);
auto i = boost::hana::index_if(t, boost::hana::is_a<boost::hana::type<double>>);
Run Code Online (Sandbox Code Playgroud)
对我来说应该是 optional<hana::size_t<1>>
我知道有Boost hana得到第一个匹配的索引,但它不是完全相同的问题
询问
SELECT * FROM "DD"."kidos.dd.data::DD_RECEIVE_NOTIFICATION_TBL"
WHERE RECEIVED_DATE between
DATE("2017-11-28T04:41:00.000Z") and DATE("2017-12-01T04:42:00.000Z");
Run Code Online (Sandbox Code Playgroud)
我有两个带时间戳的日期。我必须搜索两个日期之间的数据。哈纳DB我initailized"RECEIVED_DATE"用TIMESTAMP。如何在两个日期时间过滤数据。
SAP HANA 在按字符串排序时给出了不好的结果,因为它似乎是根据每个字符的十六进制代码排序的?像“Ö”这样的德语特殊字符在 Z 之后(应该在 O 之后)像这样。
list_of_names
-Oname
-Öname
-Zname
Run Code Online (Sandbox Code Playgroud)
SELECT name
FROM list_of_names
ORDER BY name
Run Code Online (Sandbox Code Playgroud)
==> 奥名、兹名、奥名
有什么方法可以使 HANA 以正确的方式对文本进行排序(例如 MSSQL 的“整理”)?