弱弱的问下 怎么把sysdate转换成number,插入数据库

时间:2022-10-08 20:24:53
有一个数据库中的id是number类型的,这个插入一条不会自动加1,设为了主键,也不能重复

现在想用sysdate作为id。

insert into xxx (id,xxx,xxx)values (sysdate,xxx,xxx);

请问大神,怎么把sysdate转换成number类型的,放在一条语句中插入数据库,能做到吗?

对数据库不是很熟,求教。

11 个解决方案

#1


select to_number(to_char(sysdate,'yyyymmddhh24miss')) from dual

如果同一秒插入两条,会报错。

#2


干嘛不用系列

#3


用时间+系列做ID,满足你要求不

#4


用序列 + 触发器吧。这个是常用的方法。

#5


推荐还是用序列加触发器

#6


引用 3 楼 jiaowu_wei 的回复:
用时间+系列做ID,满足你要求不


对方的数据库是个短信网关,我们只能插入一条,我们的设备只能插入一条,无法使用触发器,有什么办法解决么?

#7


用TIMESTAMP

#8


引用 楼主 hz3171065330 的回复:
有一个数据库中的id是number类型的,这个插入一条不会自动加1,设为了主键,也不能重复

现在想用sysdate作为id。

insert into xxx (id,xxx,xxx)values (sysdate,xxx,xxx);

请问大神,怎么把sysdate转换成number类型的,放在一条语句中插入数据库,能做到吗?

对数据库不是很熟,求教。


完全可以做到。

#9


使用to_char+to_timestamp_tz+timestamp_to_scn就可以实现将date类型直接转换成number类型。

SQL> select timestamp_to_scn(to_timestamp_tz(to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),
  2         'yyyy-mm-dd hh24:mi:ss'))  as num_dt
  3    from dual;
    NUM_DT
----------
   1468501

而且生成出来的数字是唯一的。

#10


弱弱的问下 怎么把sysdate转换成number,插入数据库

#11


引用 10 楼 qq646748739 的回复:
弱弱的问下 怎么把sysdate转换成number,插入数据库

这么做感觉和时间没关系了,估计不是他想要的吧

#1


select to_number(to_char(sysdate,'yyyymmddhh24miss')) from dual

如果同一秒插入两条,会报错。

#2


干嘛不用系列

#3


用时间+系列做ID,满足你要求不

#4


用序列 + 触发器吧。这个是常用的方法。

#5


推荐还是用序列加触发器

#6


引用 3 楼 jiaowu_wei 的回复:
用时间+系列做ID,满足你要求不


对方的数据库是个短信网关,我们只能插入一条,我们的设备只能插入一条,无法使用触发器,有什么办法解决么?

#7


用TIMESTAMP

#8


引用 楼主 hz3171065330 的回复:
有一个数据库中的id是number类型的,这个插入一条不会自动加1,设为了主键,也不能重复

现在想用sysdate作为id。

insert into xxx (id,xxx,xxx)values (sysdate,xxx,xxx);

请问大神,怎么把sysdate转换成number类型的,放在一条语句中插入数据库,能做到吗?

对数据库不是很熟,求教。


完全可以做到。

#9


使用to_char+to_timestamp_tz+timestamp_to_scn就可以实现将date类型直接转换成number类型。

SQL> select timestamp_to_scn(to_timestamp_tz(to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),
  2         'yyyy-mm-dd hh24:mi:ss'))  as num_dt
  3    from dual;
    NUM_DT
----------
   1468501

而且生成出来的数字是唯一的。

#10


弱弱的问下 怎么把sysdate转换成number,插入数据库

#11


引用 10 楼 qq646748739 的回复:
弱弱的问下 怎么把sysdate转换成number,插入数据库

这么做感觉和时间没关系了,估计不是他想要的吧