首页 > 解决方案 > oracle如何生成随机字符

问题描述

我的表中有一个列,我可以根据用户的性别(男性或女性)在其中插入 M 或 F。

我需要随机生成此列。

此列类型为 VARCHAR2(1)。

我想我应该使用类似的东西:

TRUNC(dbms_random.value(X,X))

但我不知道怎么做。

标签: oracleoracle11g

解决方案


由于dbms_random.value返回值 >= 0 且 < 1,因此假设您希望获得 M 或 F 的概率相等,我将使用类似的方法。如果您想产生偏态分布,请将 0.5 值调整为您的任何值我喜欢

case when dbms_random.value < 0.5
     then 'M'
     else 'F'
 end

推荐阅读