oracle 查询语句.table 表当 c=1 时.查询字段 a.当 c=2 时查询 b 字段
时间: 2024-03-20 20:45:18 浏览: 16
你可以使用 Oracle 中的 CASE 表达式来实现这个需求,示例代码如下:
```
SELECT
CASE
WHEN c = 1 THEN a
WHEN c = 2 THEN b
END AS result
FROM
table;
```
在上面的查询语句中,我们使用 CASE 表达式来根据 c 字段的值来选择需要查询的字段。当 c 等于 1 时,查询 a 字段的值;当 c 等于 2 时,查询 b 字段的值。通过 AS 关键字,我们将结果命名为 result 字段并输出。你可以根据实际情况修改表名和字段名。
相关问题
oracle 查询字段中‘.’个数加1
在Oracle中,可以使用`LENGTH`函数获取字符串的长度,可以使用`REGEXP_COUNT`函数获取字符串中某个正则表达式匹配的次数。因此,如果要查询某个字段中包含的点号(.)个数加1,可以使用以下SQL语句:
```
SELECT LENGTH(field_name) - LENGTH(REGEXP_REPLACE(field_name, '[^.]+', '')) + 1 AS dot_count
FROM table_name;
```
其中,`field_name`是要查询的字段名,`table_name`是要查询的表名。这个SQL语句使用正则表达式`'[^.]+`匹配字段中的所有点号,并将其替换成空字符串,然后计算替换前后的字符串长度差值,即为点号个数加1。最终查询结果会返回一个名为`dot_count`的列,其中包含每个记录中点号(.)个数加1的值。
oracle里查询表中各个字段注释语句
在Oracle中,你可以通过查询数据字典视图来获取表中各个字段的注释语句。以下是一个示例查询:
```
SELECT cols.table_name, cols.column_name, comments.comments
FROM all_tab_columns cols
LEFT JOIN all_col_comments comments ON cols.owner = comments.owner AND cols.table_name = comments.table_name AND cols.column_name = comments.column_name
WHERE cols.owner = 'YOUR_SCHEMA_NAME' AND cols.table_name = 'YOUR_TABLE_NAME';
```
在上面的查询中,你需要将“YOUR_SCHEMA_NAME”和“YOUR_TABLE_NAME”替换为你要查询的表的模式和名称。这将返回一个结果集,其中包含表中每个列的名称和注释。