从oracle表中随机取记录,产生随机数和随机字符串
1、从表中随机取记录
select * from (select * from staff order by dbms_random.random)
where rownum < 4
表示从STAFF表中随机取3条记录
2、产生随机数
SELECT DBMS_RANDOM.RANDOM from DUAL;
产生一个任意大小的随机数
SELECT ABS(MOD(DBMS_RANDOM.RANDOM,100)) from DUAL;
产生一个100以内的随机数
SELECT TRUNC(100+900*dbms_random.value) from dual;
产生一个100~1000之间的随机数
SELECT dbms_random.value from dual;
产生一个0~1之间的随机数
SELECT dbms_random.value(10,20) from dual;
产生一个10~20之间的随机数
SELECT dbms_random.normal from dual;
NORMAL函数返回服从正态分布的一组数。此正态分布标准偏差为1,期望值为0。这个函数返回的数值中有68%是介于-1与+1之间,95%介于-2与+2之间,99%介于-3与+3之间。
3、产生随机字符串
SELECT dbms_random.string from dual;
返回一个长度达60个字符的随机字符串。 (未试验成功)
select dbms_random.string('P',20) from dual;
第一个参数 P 表示 printable,即字符串由任意可打印字符构成
第二个参数表示返回字符串长度
相关文档:
问题:请教HINT写法
我有一个SQL添加如下hint,目的是指定hash_join方式。
select /*+ordered use_hash(a,b,c,d) */ *
from a,b,c,d
Where ...
其中,
a只与b有关联关系,b只与c有关联关系,b只与c有关联关系,c只与d有关联关系,
数量级:a:1000条, b:100 万条, ......
SQLProgress是一个小巧的操作数据库的工具,所有的版本都不超过3M,包括现在最新的34版本。33以及以前的版本需要安装BDE才能运行,从34开始,只支持Oracle数据库,采用ODAC作为数据库访问的接口,只需要一个不到3M的可执行文件就可以对数据库进行操作,其他什么都用安装。该版本是在SQLProgress1.01.33基础上修改的,33是BD ......
我们可能会出现这种情况,某个表原来设计不周全,导致表里面的数据数据重复,那么,如何对重复的数据进行删除呢?
重复的数据可能有这样两种情况,第一种时表中只有某些字段一样,第二种是两行记录完全一样。
一、对于部分字段重复数据的删除
先来谈谈如何查询重复的数据吧。
下面语句可以查询出那些数据是重复的:
se ......
Create directory让我们可以在Oracle数据库中灵活的对文件进行读写操作,极大的提高了Oracle的易用性和可扩展性。
其语法为:
CREATE [OR REPLACE] DIRECTORY directory
AS 'pathname
';
本案例具体创建如下:
create or replace directory exp_dir as '/tmp';
目录创建以后,就可以把读写权限授予特定用 ......