Mic*_*ael 2 sql db2 ibm-midrange
我正在通过 SQL Server 执行以下 DB2 SQL(因此需要在 DB2 SQL 中):
exec ('
select
TRIM (vhitno) AS "Item",
TRIM (mmitds) AS "Description",
TRIM (SUBSTRING (vhitno,12,4)) AS "Size",
vhalqt AS "Available"
from m3fdbtest.oagrln
left outer join m3fdbtest.mdeohe
on vhcono = uwcono
and vhcuno = uwcuno
and vhagno = uwagno
and vhitno = uwobv1
left outer join m3fdbtest.mitmas
ON vhcono = mmcono
AND vhitno = mmitno
where uwcono = 1
and uwstdt >= ?
and uwlvdt <= ?
and uwcuno = ''JBHE0001''
and uwagst = ''20''
and (vhitno LIKE ''%'' || ? || ''%''
or mmitds LIKE ''%'' || ? || ''%'')',
@From, @To, @Search, @Search) at M3_TEST_ODBC
Run Code Online (Sandbox Code Playgroud)
但是,DB2 区分大小写 - 如何使 mmitds 和 vhitno 上的两个 LIKE 不区分大小写?
你可以使用这样的东西:
where UPPER(mycol) like '%' || UPPER(?) || '%'
Run Code Online (Sandbox Code Playgroud)
注意:这可能会影响索引选择,但您可以像这样创建索引:
create index MYINDEX on MYTABLE (UPPER(mycol))
Run Code Online (Sandbox Code Playgroud)
如果您使用 RPG 中嵌入的 SQL,则可以将程序设置为使用不区分大小写的排序和比较
SET OPTION SRTSEQ=*LANGIDSHR;
Run Code Online (Sandbox Code Playgroud)
要使用 JDBC 执行此操作,您需要设置以下驱动程序属性:
"sort" = "language"
"sort language" = Your language code, I use "ENU"
"sort weight" = "shared"
Run Code Online (Sandbox Code Playgroud)
对于 ODBC 连接,您需要设置以下连接属性:
SORTTYPE = 2
LANGUAGE = your language code, I use ENU
SORTWEIGHT = 0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15502 次 |
| 最近记录: |