DbColumnInfo类的疑问 返回

SqlSugar 沟通中
4 217

针对pg数据库的numeric数据类型。

DbColumnInfo类,我以为Length是总长度,Scale是小数点数。

实际不是的。Length不对。请核实

热忱回答4

  • length=18,DecimalDigits=2


    拿新表测试

    0 回复
  • PixPin_2025-11-05_17-02-07.png

    你好,建了个表试下了。发现有小数点返回正确。没有设置小数点时候length、DecimalDigits、Scale都是0.

    麻烦大佬核实下。

    0 回复
  • 有疑问提供具体DEMO。

    0 回复
  • 源代码PostgreSQLDbMaintenance.cs中,这个GetColumnInfosByTableNameSql属性,

    第26行如下:

     CASE WHEN pcolumn.numeric_scale >0 THEN pcolumn.numeric_precision ELSE pcolumn.character_maximum_length END   as Length,

    这里值得斟酌

    就是当numeric_scale=0时,给length赋值为character_maximum_length,显然numeric的character_maximum_length为0或者空。

    导致我之前反馈的现象,就是发现有小数点返回正确。没有设置小数点时候length、DecimalDigits、Scale都是0.

    0 回复