如题

解决方案 »

  1.   

    把指定汉字编号,假设有100个汉字
    然后用dbms_random.value(1,100)生成随机数,然后关联下不就行了 
      

  2.   

    要取整下select trunc(dbms_random.value(1,100)) from dual
      

  3.   

    完全OK!
    heho2005 要加floor,不然会抓小数出来!
    表一 test
    sid  schinese
    1      中
    2      国
    3      加
    4      油取值方法:
    select schinese from test where sid IN
    (select floor(dbms_random.value(1,5)) from dual)
      

  4.   

    下面段代码你去试试,在16个字里随机生成
    SELECT a.rn, a.word
      FROM (SELECT     ROWNUM rn,
                       SUBSTR ('怎么在指定的汉字中随机生成名字啊', ROWNUM,
                               1) word
                  FROM DUAL
            CONNECT BY ROWNUM <= LENGTH ('怎么在指定的汉字中随机生成名字啊')) a,
           (SELECT     trunc(DBMS_RANDOM.VALUE (1, 16)) rn
                  FROM DUAL
            CONNECT BY ROWNUM <= 2) b
     WHERE a.rn = b.rn
      

  5.   

    把trunc 换成round ,否则的话16很难出来