小编BCa*_*olo的帖子

奇怪的 Oracle 行为

我试图为现有表中的每一行生成一个 uuid,并为两个不同的列设置相同的值。

我写了一个更新语句,我认为应该这样做,但它为每个列设置了不同的uuid。为什么?

CREATE TABLE tbl (
    n number,
    r1 raw(32),
    r2 raw(32)
);

insert into tbl (n) values (1);
insert into tbl (n) values (2);
insert into tbl (n) values (3);

update (select r1, r2, sys_guid() as uuid FROM tbl) 
    set r1 = uuid, r2 = uuid;
    
select n, rawtohex(r1), rawtohex(r2) from tbl;
Run Code Online (Sandbox Code Playgroud)
RAWTHEX(R1) RAWTHEX(R2)
1 F89B6F66D7C7A52FE050020A02583951 F89B6F66D7C8A52FE050020A02583951
2 F89B6F66D7C9A52FE050020A02583951 F89B6F66D7CAA52FE050020A02583951
3 F89B6F66D7CBA52FE050020A02583951 F89B6F66D7CCA52FE050020A02583951

sql oracle

3
推荐指数
1
解决办法
73
查看次数

Fortran数字格式

我使用的是英特尔®VisualFortran编译器专业版11.1,当我运行此代码时

program Console1
implicit none

real(8), parameter:: iterations = 1000.d0
real(8), parameter:: maximum = 0.02d0

integer, parameter:: outfile=1

real(8) force, dforce
integer i

dforce = maximum/iterations
force = 0.d0

open (unit=outfile,file="results.txt",action="write",status="replace")
do i=0,int(iterations)
    write(outfile, *) force
    force = force+dforce
enddo
close(outfile)

endprogram
Run Code Online (Sandbox Code Playgroud)

文件results.txt是乱七八糟的,最终的数字是1.999999999999952E-002而不是2.d-2

我做错了什么?谢谢!

double fortran loops rounding

-1
推荐指数
1
解决办法
761
查看次数

标签 统计

double ×1

fortran ×1

loops ×1

oracle ×1

rounding ×1

sql ×1