小编典典

在Oracle SQL表中存储IP地址

sql

我创建了一个表来存储IP地址。

CREATE TABLE ipdetails( ip_address DECIMAL(16,4) NOT NULL, vlan_id varchar(50) );

但是当我尝试插入表中时,它给了我一个错误:

INSERT INTO ipdetails VALUES (192.169.165.128, 'Sample1')

无论如何,我可以在SQL表中存储一个带有很多小数位的数字,如果是的话,我应该使用什么数据类型?请指教。

提前致谢!


阅读 236

收藏
2021-04-14

共1个答案

小编典典

您有几种选择:

  • 将其存储为VARCHAR。IP地址实际上不是您可能会做数学运算的数字,那么为什么以数字格式存储它呢?
  • 将其以十六进制形式存储为单个数字。尽管您实际上不能以十进制表示,但是IP以十六进制表示是8位数字。
  • 将其存储为(最多)四个单独的字段。可能不必要,但对于某些应用程序(您可能只想只关注IP的一部分),这可能会很有用。
2021-04-14