现在的位置: 首页 > 综合 > 正文

Oracle 字符串 单双引号

2013年06月08日 ⁄ 综合 ⁄ 共 2147字 ⁄ 字号 评论关闭

 

列字段用双引号,填入表中的数据使用单引号语法区分,目前这样理解。下面示例:

SQL> select ename , sal , deptno, ( case when deptno=10 then '撒旦' else '马上' end ) "别名" from emp;

 

ENAME            SAL DEPTNO 别名

---------- --------- ------ ----

SMITH         800.00     20 马上

ALLEN        1600.00     30 马上

WARD         1250.00     30 马上

JONES        2975.00     20 马上

MARTIN       1250.00     30 马上

BLAKE        2850.00     30 马上

CLARK        2450.00     10 撒旦

SCOTT        3000.00     20 马上

KING         5000.00     10 撒旦

TURNER       1500.00     30 马上

ADAMS        1100.00     20 马上

JAMES         950.00     30 马上

FORD         3000.00     20 马上

MILLER       1300.00     10 撒旦

 

 

 

在列别名上使用双引号 

输入并执行查询: 

Sql代码 复制代码
  1. SELECT ename AS "Name", sal*12+5000 AS "年度工资(加年终奖)" FROM emp;  

显示结果为: 

Sql代码 复制代码
  1. Name       年度工资(加年终奖)   
  2.         --------------- ----------------------------   
  3.         SMITH                 14600   
  4.         ALLEN                 24200  

说明:其中别名“Name”有大小写的区别,别名“年度工资(加年终奖) ”中出现括号,属于特殊符号,所以都需要使用双引号将别名引起。 

连接运算符 
sql语句可以使用包含数值运算的计算列,显示结果也是数值型的。我们也可以使用字符型的计算列,方法是在查询中使用连接运算。连接运算符是双竖线“||”。通过连接运算可以将两个字符串连接在一起。 
在查询中使用连接运算。 
输入并执行查询: 

Sql代码 复制代码
  1. SELECT  ename||job AS "雇员和职务表" FROM emp;  

输出结果为: 

Sql代码 复制代码
  1. 雇员和职务表   
  2.         -------------------   
  3.         SMITHCLERK   
  4.         ALLENSALESMAN  

说明:在本例中,雇员名称和职务列被连接成为一个列显示。
 
单引号的使用:
在查询中可以使用字符和日期的常量,表示固定的字符串或固定日期。字符和日期
的常量需要用单引号引起。下一个训练是作为上一个训练的改进。 
在查询中使用字符串常量。 
输入并执行查询: 
Sql代码 复制代码
  1. SELECT  ename|| ' IS '||job AS "雇员和职务表" FROM emp;  

输出结果为: 

Sql代码 复制代码
  1. 雇员和职务表   
  2.     -----------------------   
  3.     SMITH IS CLERK   
  4.     ALLEN IS SALESMAN  

说明:本练习中将雇员名称、字符串常量“ IS ”和雇员职务3个部分连接在一起。 

 

网上摘文:

 

 

在Oracle中: 
  双引号的作用是:假如建立对象的时候,对象名、字段名加双引号,则示意 Oracle将严格区分大小写,否则Oracl都默认大写。

  而单引号则示意:这个加了单引号的字段是一个字类似字符串,并不区分大小写。单引号用于标识字符与数字的区别。当指定字符串文本时,必须用单引号将字符串文本引住。

  Oracle10g之前,假如字符串文本里含有单引号,那么必须运用两个单引号示意。例如:I'm a String!

  字符串文本则为:string_var:='I''m a String!'

  在oracle10g中可以运用其它分隔符(<>,[],{}等),留心,运用这些分隔符时,不仅要在分隔符前后加单引号,还要带有前缀q.例:string_var:=q'[I''m a String!]';

  例如

  select * from table_name where id=1;这种代表查询的是数字

  select * from table_name where id='1';这种代表查询的是字符

  假如是双引号是这样,假如你有个表的字段叫sysdate,因为sysdate属于oracle中的特有字符,但你要查询这个字段的时候

  select "sysdate" from table_name;

  但是你要是用

  select 'sysdate' from table_name;

  那么你查出来的就是字符串,结果是sysdate

  运用如下的更新语句不可以:update device set dept='select * from message where name='tom' ' ;

  处理要领:

  update device set dept='select * from message where name=' 'tom' ' where id=3' ;

  执行成功。

  原来,两个'' 示意了一个'

 

 

抱歉!评论已关闭.