用于查找表名的DB2 select查询以' _H'结尾。

时间:2017-10-06 05:17:57

标签: sql select db2

我要求选择以' _H'结尾的所有表名。 我尝试了下面的查询,但它给了我所有的表格名称以' H'。

结尾

请帮我查询表格名称以' _H'。

结尾
db2 "SELECT TABNAME FROM SYSIBMADM.ADMINTABINFO where  tabname like '%_H' with ur"

YFS_PRICE_MATCH - >在查询结果中不会出现这种情况。

YFS_PROMOTION_AWARD_H - >这是预期的结果。

2 个答案:

答案 0 :(得分:0)

在ANSI SQL中,您可以使用escape子句搜索下面的通配符,以获得所需的结果。

 SELECT TABNAME FROM SYSIBMADM.ADMINTABINFO where tabname like '%x_h' escape 'x';

DB2/z中,另一种选择可以是使用下面的适当缩写形式。

 SELECT TABNAME FROM SYSIBMADM.ADMINTABINFO where tabname like {escape 'x'} '%x_h';

在上述两个查询中,x都用作escape个字符。您可以根据您的数据选择任何一种。

希望这会有所帮助。

答案 1 :(得分:0)

在Db2和其他一些SQL数据库系统中,字符?_表示LIKE表达式中的通配符。要将_?用作常规字符,您需要将其转义。在Db2中,转义字符是plus sign (+) on Db2 for z/OSbackslash (\) on Db2 (Linux, UNIX, Windows)。所以,根据平台,你的表达看起来像 %+_H%\_H