Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
显示空结果的Oracle SQL查询_Sql_Oracle - Fatal编程技术网

显示空结果的Oracle SQL查询

显示空结果的Oracle SQL查询,sql,oracle,Sql,Oracle,我正在编写一个简单的查询来显示表中列的名称 这是我使用的SQL: select column_name from cols where table_name='StudentInfo'; 出于某种原因,即使我的StudentInfo表确实有列,此查询仍会导致空结果表。表名可能以大写字母存储,从而导致条件表\u name='StudentInfo'失败。请注意,Oracle(以及我所知道的大多数其他RDBMS)以区分大小写的方式比较字符串。对于不区分大小写的比较,请在两个参数上使用UPPER(或

我正在编写一个简单的查询来显示表中列的名称

这是我使用的SQL:

select column_name from cols where table_name='StudentInfo';

出于某种原因,即使我的StudentInfo表确实有列,此查询仍会导致空结果表。

表名可能以大写字母存储,从而导致条件
表\u name='StudentInfo'
失败。请注意,Oracle(以及我所知道的大多数其他RDBMS)以区分大小写的方式比较字符串。对于不区分大小写的比较,请在两个参数上使用
UPPER
(或
LOWER
)。因此,以下查询应该可以安全地工作:

select column_name from cols where upper(table_name)=upper('StudentInfo')

还有其他将字符串比较转换为不区分大小写的方法,如更改会话参数
NLS\u COMP
NLS\u SORT
(例如,请参阅,如果适用,请向上投票此引用)。但是,通过使用
UPPER
,您可以使查询独立于这些设置。

表名可能以大写字母存储,从而导致条件
表\u name='StudentInfo'
失败。请注意,Oracle(以及我所知道的大多数其他RDBMS)以区分大小写的方式比较字符串。对于不区分大小写的比较,请在两个参数上使用
UPPER
(或
LOWER
)。因此,以下查询应该可以安全地工作:

select column_name from cols where upper(table_name)=upper('StudentInfo')
还有其他将字符串比较转换为不区分大小写的方法,如更改会话参数
NLS\u COMP
NLS\u SORT
(例如,请参阅,如果适用,请向上投票此引用)。但是,通过使用
UPPER
,您可以使查询独立于这些设置。

您可以这样做:

select column_name from cols where lower(table_name) like '%studentinfo%'
你可以这样做:

select column_name from cols where lower(table_name) like '%studentinfo%'

尝试从cols中选择不同的表名,并检查“StudentInfo”是否以这种方式亮起。表名可能以大写字母或任何其他稍有不同的方式存储。你刚刚解决了我的问题。你知道为什么甲骨文有如此敏锐的区分大小写能力吗?我肯定会投赞成票并打勾。非常感谢。非常感谢您编辑的关于区分大小写的答案。请尝试从cols中选择不同的表名,并检查
“StudentInfo”
是否以这种方式显示。表名可能以大写字母或任何其他稍有不同的方式存储。你刚刚解决了我的问题。你知道为什么甲骨文有如此敏锐的区分大小写能力吗?我肯定会投赞成票并打勾。非常感谢。非常感谢您编辑的关于区分大小写的答案。@Stephancher是的!它将显示包含字符串“studentinfo”的所有记录。但是,如果我们只需要具有所需符号的记录,则应从查询中删除%。请注意,
like
也区分大小写(取决于设置)。见@StephanLechner是的!它将显示包含字符串“studentinfo”的所有记录。但是,如果我们只需要具有所需符号的记录,则应从查询中删除%。请注意,
like
也区分大小写(取决于设置)。看见