varchr2(40) 与 number类型怎么才能判断是否想等?
varchr2(40) 里面也是数字,不知道这两个类型要怎么格式化之后比较?
只判断整数部分是否相同
varchr2(40) 里面也是数字,不知道这两个类型要怎么格式化之后比较?
只判断整数部分是否相同
解决方案 »
- 创建的时候提示标识符过长是什么意思呢
- ------------------ HOST = xxx --------------------
- 创建临时表
- create index..(bsm asc) 与create index ..(bsm)的区别
- Oracle10g 存储过程问题
- 在ORACLE9I中导出时出现不该出现的1017错误
- 除了INSERT还有什么方法可以往表里添加数据?
- 谁能提供一下oracle 9.2.0.4 for windows?谢谢!!!!!!!!!!!
- ORACLE9I导出数据时当导出数据文件到4G就停止导出了,请问是何原因?
- oracle920和oracle734的连接
- 如何将 Date 格式化为我们习惯的格式﹖
- 关于行转列 oracle的sql语句 很着急!!!!谢谢!
---------- ----------
1 1.2
2 2
2 2.0
3 3.7SQL> select * from test where id=name; ID NAME
---------- ----------
2 2
2 2.0SQL> select * from test id = to_number(name);
select * from test id = to_number(name)
*
ERROR 位于第 1 行:
ORA-00933: SQL 命令未正确结束
SQL> select * from test where id = to_number(name); ID NAME
---------- ----------
2 2
2 2.0SQL> select * from test where id= trunc(to_number(name)); ID NAME
---------- ----------
1 1.2
2 2
2 2.0
3 3.7SQL>
2 num2,
3 case
4 when decode(instr(num1, '.'),
5 0,
6 num1,
7 substr(num1, 0, instr(num1, '.') - 1)) = trunc(num2) then
8 '=='
9 else
10 '<>'
11 end
12 from t1
13 ;NUM1 NUM2 CASEWHENDECODE(INSTR(NUM1,'.')
------------ --------------------- ------------------------------
3.251201 3 ==
3.251201 3 ==
3.251201 3 ==
354401 3 <>
354401 354401 ==
2 num2,
3 case
4 when trunc(num1) = trunc(num2) then
5 '=='
6 else
7 '<>'
8 end
9 from t1
10 /NUM1 NUM2 CASEWHENTRUNC(NUM1)=TRUNC(NUM2
---------------------------------------- --------------------- ------------------------------
3.251201 3 ==
3.251201 3 ==
3.251201 3 ==
354401 3 <>
354401 354401 ==