Oracle生成随机数

  • Post author:
  • Post category:其他



— 38


位精度的随机数


例如:


2080.540270297243047172097413955732485122



select



dbms_random


.



value



(


1


,


9999


)



from



dual


;





四位数,取整



select



trunc


(


dbms_random


.



value



(


1000


,


9999


))



from



dual


;





按照指定的精度截取一个数



select



round


(


dbms_random


.



value



(


1000


,


9999


))



from



dual


;





按照指定的精度进行四舍五入



select



ceil


(


dbms_random


.



value



(


1000


,


9999


))



from



dual


;


–ceil


返回大于或等于,给出数字的最小整数



select



floor


(


dbms_random


.



value



(


1000


,


9999


))



from



dual


;


–floor


取整数位



select



dbms_random


.



value




from



dual


;


–dbms_random.value


小数(


0-1





select



dbms_random


.



value



(


0


,


100


)



from



dual


;


小数(


0-100





select



substr


(


cast


(


dbms_random


.



value




as



varchar


(


38


)),


3


,


20


)



from



dual


;





长度为


20


的随机字串



select



dbms_random


.



normal




from



dual


;





正态分布随机数



select



dbms_random


.



string



(


‘x’


,


3


)



from



dual


;





随机字符串



select



dbms_random


.



string



(


‘A’


,


20


)



from



dual


;


–string


函数指定长度为


20


的随机文本字符串



select



to_date


(


2454084+


trunc


(


dbms_random


.



value



(


0


,


365


)),


‘J’


)



from



dual


;





随机日期



select



to_char


(


sysdate


,


‘J’


)



from



dual


;





指定日期基数



select



sys_guid


()



from



dual


;





生成


GUID



select



to_char


(


to_date


(


’01/01/03′


,


‘mm/dd/yy’


),


‘J’


)



from



dual


;


–2452641



select



to_date


(


trunc


(


dbms_random


.



value



(


2452641


,


2452641+364


)),


‘J’


)



from



dual


;


–2003


年内的任意日期



版权声明:本文为songpeiying原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。