doris有表cfg_sys_eak_current 里面有字段category_one,two_classification,database 有时候会全查有时候只select其中一个字段 想要实现如果查的字段是database as成dbs,其他字段不变 怎么写
时间: 2023-12-06 17:45:08 浏览: 37
可以使用 CASE WHEN 语句实现这个需求,如下所示:
```sql
SELECT
CASE
WHEN column_name = 'database' THEN database
ELSE column_name
END AS dbs_or_other_columns,
other_column_name1,
other_column_name2,
...
FROM cfg_sys_eak_current;
```
其中,`column_name` 为要查询的字段名,`database` 为 `category_one` 和 `two_classification` 合并后的字段名。`CASE WHEN` 语句会判断要查询的字段名是否为 `database`,如果是,则将 `category_one` 和 `two_classification` 合并后的字段作为查询结果;如果不是,则将该字段名作为查询结果。其他列名需要根据实际情况进行填写。
相关问题
doris auto_increment_increment
Doris 是一个开源的 MPP(大规模并行处理)分析型数据库,主要用于在线分析处理(OLAP)场景。`auto_increment_increment` 是 MySQL 中的一个系统变量,用于控制 AUTO_INCREMENT 列的增量值。在 MySQL 中,当你创建一个带有 AUTO_INCREMENT 属性的表时,你可以在插入新记录时让 MySQL 自动填充这个列,每次插入记录时,MySQL 会自动增加一个预设的值到这个列中。
然而,`auto_increment_increment` 在 Doris 中并没有直接对应的概念,因为 Doris 与 MySQL 在数据模型和存储机制上有所不同。Doris 的设计与实现主要是为了处理大规模的数据分析任务,而 MySQL 则更加注重事务处理和数据的行级操作。如果你需要在 Doris 中实现类似 MySQL 的 AUTO_INCREMENT 功能,你可能需要使用 Doris 的序列功能或其他自定义逻辑来模拟。
doris修改了wait_timeout如何不重启fe的情况下修改配置
在 Doris 中,wait_timeout 是一个 MySQL 的配置项,用于设置服务器关闭一个非交互连接之前等待活动的秒数。如果您修改了 wait_timeout 配置项,想要不重启 FE 的情况下生效,可以按照以下步骤操作:
1. 登录 FE 的节点,使用命令 `ps -ef | grep doris-fe` 查找正在运行的 FE 进程的 PID。
2. 使用命令 `cat /proc/PID/environ` 查看该进程的环境变量。
3. 在环境变量列表中,找到名为 `MYSQL_WAIT_TIMEOUT` 的变量,将其值修改为您需要的 wait_timeout 时间(单位为秒)。
4. 使用命令 `kill -SIGHUP PID` 发送 SIGHUP 信号给 FE 进程,让其重新读取环境变量。
5. 检查 FE 的日志,确认新的 wait_timeout 已经生效。
需要注意的是,这种方式修改的 wait_timeout 只对当前的 FE 进程生效,如果您有多个 FE 节点,需要在每个节点上都进行相同的操作才能使修改生效。另外,这种方式修改的 wait_timeout 是临时的,如果 FE 重启或者机器重启,修改会失效。如果需要永久性修改 wait_timeout,需要在配置文件中进行修改并重启 FE。
阅读全文