我有一个asp.net Web表单应用程序,用于在oracle 10g中查询数据。在目标表中,NAMESURNAME列存在,它包含NAME +“”+ SURNAME结构。我在下面有两个不同的问题:
查询1:
select
NAMESURNAME, PERSONELID
from
personeliliski2015 t
where
nls_upper(t.NAMESURNAME, 'NLS_SORT = XTURKISH') like nls_upper('%OSMAN%', 'NAMESURNAME = XTURKISH')
查询2:
select
NAMESURNAME, PERSONELID
from
personeliliski2015 t
where
nls_upper(t.NAMESURNAME, 'NLS_SORT = XTURKISH') like nls_upper('%SÖZGEN%', 'NAMESURNAME = XTURKISH')
如果您发现查询2包含土耳其字符,则“Ö”。
这是asp.net Web表单应用程序的功能:
public void VeriGetir(DataTable dt, string sOracle)
{
OracleDataAdapter da = null;
try
{
dt.Clear();
da = new OracleDataAdapter(sOracle, cn);
OpenConnection();
if (IsTransactional)
da.SelectCommand.Transaction = tr;
da.Fill(dt);
}
catch (Exception e)
{
throw HataOlustur(e, sOracle);
}
finally
{
CloseConnection();
}
}
查询1返回许多结果(如预期的那样),但查询2不返回任何结果。但是有许多记录表明NAMESURNAME包含“SÖZGEN”。这有什么问题?提前谢谢。