哪一个代表null?undef或空字符串

7 oracle perl dbi

我想插入null表中的列.

哪一个代表null?undef或空字符串''.

应该使用哪一个,为什么?我知道defined并且我可以检查它.

但我从数据库的角度来看更多.

哪一个null更恰当?

更新:我正在使用DBI模块.

cjm*_*cjm 11

DBI用于undef表示SQL NULL.空字符串表示空字符串.

但是,某些数据库不区分NULL空字符串. 甲骨文在这里是一个特别的罪犯. DBI对此无能为力.


Aln*_*tak 7

假设Perl DBI undef代表一个SQL NULL.

Perl中的空字符串表示SQL中的完全相同(即空字符串).

  • @Drt,这是你的问题.[Oracle将空字符串视为"NULL".(https://duckduckgo.com/?q=oracle%20null%20empty%20string) (7认同)
  • @Drt,他们*不*都代表`NULL`.`undef`呢. (2认同)