ORACLE_sql中后相似下划线“_”没有匹配生效
在oracle中我想查出库中所有表名类似“T_BD_ACCOUNTVIEW_QX_”的记录,用sql语句查询如下,得到结果却不一样,
SELECT table_name FROM user_tables u where u.table_name like 'T_BD_ACCOUNTVIEW_QX_%';
结果如下:
很显然,最后一个横杠没有匹配生效,查询后才知道,
在Oracle中,下划线(_)是一个通配符,它用于匹配任何单个字符。而百分号(%)是另一个通配符,用于匹配零个或多个字符。因此,在查询中,"T_BD_ACCOUNTVIEW_QX_%"会匹配"T_BD_ACCOUNTVIEW_QXBAK",因为下划线匹配了"BAK"这三个字符。如果你想匹配"T_BD_ACCOUNTVIEW_QXBAK"之外的表名,可以使用转义字符来匹配下划线。例如:
SELECT table_name FROM user_tables u WHERE u.table_name LIKE 'T_BD_ACCOUNTVIEW_QX\_%' ESCAPE '\';
linux下的docker操作命令及异常