我在类似结构的表中使用.NET代码进行循环。所有表都有列#34; JOBDATECLOSED"但在某些表格中,它显示为" JobDateClosed",在其他表格中显示为" jobdateclosed"或" jobDateClosed"。当硬编码的" JOBDATECLOSED"循环到表中,列名出现在不同的大小写(小写或大写)中。有没有办法在Oracle中避免这种情况?
Query
Select COUNT(*) FROM "tableX" WHERE lower("JOBDATECLOSED") IS NOT NULL
Code
Dim cmdInside As New OracleCommand("Select COUNT(*) FROM """ & drTablesOracle.Item("TABLE_NAME") & """ WHERE ""jobDateClosed"" IS NOT NULL", conSCoracle)
*我知道如何使整个系统不区分大小写,但我对该解决方案不感兴趣。
答案 0 :(得分:1)
您的表名和列名区分大小写,因为您在它们周围加上引号,这告诉Oracle区分大小写。尽量不要在名称旁边加上引号。
Select COUNT(*) FROM tableX WHERE lower(JOBDATECLOSED) IS NOT NULL