windows和linux下SQL语句是否区分大小写

[复制链接]
查看11 | 回复7 | 2014-11-11 06:00:14 | 显示全部楼层 |阅读模式
前一段时间因为大小写问题在linux下select信息没有查询出来,后来换成大写就查询OK,请问:
select name,id,age
from table_name
where dep='a';在linux和windows下面应该怎么去写??
linux和windows下面怎么去注意大小写?
谢谢!

回复

使用道具 举报

千问 | 2014-11-11 06:00:14 | 显示全部楼层
ORACLE,如果查询的是数据字典或动态性能视图(即ORACLE自带的视图),其列中存储的字符都会被转换为大写(除非你创建对象时,把名称用双引号括起来了,如”abc").
例如,你创建表 create table abc .....,创建后,到USER_TABLES视图中去查找这个表,要写成这样才能找到:
select * from user_tables where table_name='ABC';
如果写成:
select * from user_tables where table_name='abc';是找不到的,或者说,即使找到了,也不是你刚刚创建的这张表。
但是,如果你是用:create table “abc” ..... 创建的表,那么在查找时,就必须写成:
select * from user_tables where table_name='abc';
回复

使用道具 举报

千问 | 2014-11-11 06:00:14 | 显示全部楼层
楼上正解,linux和windows一样
回复

使用道具 举报

千问 | 2014-11-11 06:00:14 | 显示全部楼层
bfc99 发表于 2014-11-7 11:39
ORACLE,如果查询的是数据字典或动态性能视图(即ORACLE自带的视图),其列中存储的字符都会被转换为大写( ...

linux和windows下都是这样吗?
当一个服务器上有两个或者多个数据库时候
linux下 exportoracle_sid=TEST
windows下 set oracle_sid=test
可以指定要连接的数据库。
回复

使用道具 举报

千问 | 2014-11-11 06:00:14 | 显示全部楼层
bizhanjie 发表于 2014-11-7 14:16
楼上正解,linux和windows一样

需要注意大小写吗?比如sql语句中,哪些地方应该大写?或则小写,才能养成好点的习惯?
回复

使用道具 举报

千问 | 2014-11-11 06:00:14 | 显示全部楼层
li13938499493 发表于 2014-11-7 14:18
linux和windows下都是这样吗?
当一个服务器上有两个或者多个数据库时候
linux下 exportoracle_sid=T ...

如果你说的是这个的话,是区分大小写的。
因为ORACLE实例启动时,会到指定目录下查找相应的参数文件,而参数文件的命名是有规则的,即spfile.ora或init.ora由于LINUX中,文件名是区分大小写的,所以,ORACLE_SID设置的名称如果与实际的参数文件中对应的文件名部分不符,则可能会致使数据库实例不能加载(但如果相应目录下存在spfile.ora文件,当spfile.ora找不到时,则会使用这个默认的参数文件来启动实例。)。
但在WINDOWS下,文件名是不区分大小写的,所以,估计在WINDOWS下,至少不会因为这个原因使得数据库实例不能启动。
回复

使用道具 举报

千问 | 2014-11-11 06:00:14 | 显示全部楼层
li13938499493 发表于 2014-11-7 14:21
需要注意大小写吗?比如sql语句中,哪些地方应该大写?或则小写,才能养成好点的习惯?

在SQL语句的书写上,通常是把保留关键字大写,其它可小写。
这个在PL/SQL的编辑工具中,可以设置,工具会自动在代码的书写过程中进行转换。
回复

使用道具 举报

千问 | 2014-11-11 06:00:14 | 显示全部楼层
linux下 exportoracle_sid=TEST
windows下 set oracle_sid=test
这是操作系统的命令,不关SQL的事
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行