Oracle的语句SELECT <include refid="Base_Column_List"/> FROM SYS_ADMINISTRATIVE_AREA CONNECT BY PRIOR ID = C_PARENT_ID AND i_flag = - 1 START WITH i_flag = - 1 <if test="ids != null and ids!='' "> AND ID IN <foreach collection="ids.split(',')" open="(" index="index" item="item" separator="," close=")"> #{item} </foreach> </if> ORDER BY I_ORDER 改造成mysql语句
时间: 2024-03-11 08:50:38 浏览: 85
您所提供的Oracle语句可以使用以下MySQL语句进行改造:
```
SELECT * FROM SYS_ADMINISTRATIVE_AREA WHERE i_flag = -1 AND ID IN (SELECT * FROM (SELECT CAST(split_string(ids, ',') AS UNSIGNED) AS ID FROM (SELECT '${ids}' AS ids) AS t) AS temp)
START WITH i_flag = -1
CONNECT BY PRIOR ID = C_PARENT_ID
ORDER SIBLINGS BY I_ORDER;
```
其中,您需要将`${ids}`替换为您实际的`ids`值。此外,MySQL中没有直接支持的`split_string`函数,您需要自行实现该函数或使用第三方的实现。
相关问题
select <include refid="Base_Column_List" /> from hospital_experience <include refid="Base_Where_Clause" /> and currentday = CURRENT_DATE();解释下sql
这是一条 SQL 查询语句,查询的表是 "hospital_experience"。"<include refid="Base_Column_List" />" 是一个引用,表示查询的列是 "hospital_experience" 表中所有的列。"<include refid="Base_Where_Clause" />" 也是一个引用,表示查询的条件是 "hospital_experience" 表中的基本查询条件。同时,这个查询语句增加了一个条件 "currentday = CURRENT_DATE()",表示查询结果的 "currentday" 列的值等于当天日期。因此,这个查询语句的作用是查询 "hospital_experience" 表中当天的经历记录。
select <include refid="Base_Column_List" /> from hospital_source <include refid="Base_Where_Clause" /> and currentday = CURRENT_DATE();这段sql是什么意思
这段 SQL 查询语句的意思是从名为 hospital_source 的表中选择 Base_Column_List 中列出的所有列,在 Base_Where_Clause 的条件下,查询当前日期(CURRENT_DATE())的记录。通常情况下,Base_Column_List 和 Base_Where_Clause 是在 SQL 映射文件中定义的可重用的 SQL 片段。
阅读全文