这有效:
short value;
value = 10 > 4 ? 5 : 10;
Run Code Online (Sandbox Code Playgroud)
这有效:
short value;
value = "test" == "test" ? 5 : 10;
Run Code Online (Sandbox Code Playgroud)
这不起作用:
short value;
string str = "test";
value = "test" == str ? 5 : 10;
Run Code Online (Sandbox Code Playgroud)
这也不是:
short value;
string str = "test";
value = "test".Equals(str) ? 5 : 10;
Run Code Online (Sandbox Code Playgroud)
最后两种情况我收到以下错误:
Cannot implicitly convert type 'int' to 'short'.
An explicit conversion exists (are you missing a cast?)
Run Code Online (Sandbox Code Playgroud)
为什么我必须对最后两个案例进行演绎而不是对前两个案例进行演绎?
有什么办法可以过滤oracle的all_views表上的文本列吗?
例如:
SELECT *
FROM ALL_VIEWS
WHERE UPPER(TEXT) LIKE '%FOO%';
Run Code Online (Sandbox Code Playgroud)
例外:
ORA-00932: inconsistent datatypes: expected NUMBER got LONG
00932. 00000 - "inconsistent datatypes: expected %s got %s"
Run Code Online (Sandbox Code Playgroud)
编辑:
DESC ALL_VIEWS
Name Null Type
---------------- -------- --------------
OWNER NOT NULL VARCHAR2(30)
VIEW_NAME NOT NULL VARCHAR2(30)
TEXT_LENGTH NUMBER
TEXT LONG()
TYPE_TEXT_LENGTH NUMBER
TYPE_TEXT VARCHAR2(4000)
OID_TEXT_LENGTH NUMBER
OID_TEXT VARCHAR2(4000)
VIEW_TYPE_OWNER VARCHAR2(30)
VIEW_TYPE VARCHAR2(30)
SUPERVIEW_NAME VARCHAR2(30)
Run Code Online (Sandbox Code Playgroud) 假设我想从一个名为中的表中检索100条记录messages
,我希望通过以下方式获取它们:
1st message
100th message
2nd message
99th message
3rd message
98th message
(...)
Run Code Online (Sandbox Code Playgroud)
有没有办法有效地做到这一点?什么是适当的查询?或者我应该查询选择前50个,查询选择最后50个然后合并结果?