- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我通过 Borland 数据库引擎 (BDE) 使用 Paradox 表。
我无法理解 null 和 空字符串 值在字符串字段(Paradox 数据类型“A”)中的处理方式。
我的具体问题是如何确定字段值是否为 null 或空字符串。在数据库桌面工具中,它们似乎都是空字符串。
我需要这个,因为我正在将数据(使用 Database Desktop 以及以编程方式)迁移到 Firebird 数据库,似乎是空字符串的字段值都作为空值复制到 Firebird。 .. 即使是属于索引的字段! 如何区分真正的 null 和空字符串?它取决于 Paradox 还是 BDE?谢谢!
最佳答案
如您所知,现代数据库实现包括“NULL”的概念,这是一个永远不会匹配任何其他值的值,即使是另一个 NULL。
BDE 及其祖先 Paradox 引擎和 DOS 的 Paradox,不包括 NULL 的概念。 BDE 表中的所有数据类型都不允许像 NULL 这样的排除值。
BDE 确实包含 BLANK 的概念,但这只是某些类型的特殊带内值。 BLANK 匹配 BLANK,没有其他匹配。在数字字段中,BLANK 可与 0 区分开来,但在字母字段中,BLANK 等同于零长度字符串。
显然在过去的某个时候,某人的任务是创建一个实用程序以将 BDE 表导入到 SQL 数据库中,但他并没有完全胜任。他可能无法想象没有 NULL 的数据库,因此他猜测 BLANK 与 NULL 相同。从那时起,其他人都效仿了他。
将 BDE BLANK 转换为 SQL NULL 是错误的。这样做会改变数据库的架构,并破坏任何相关应用程序的架构。从 BDE 表导入的数据不应包含 NULL。
要么编写您自己的导入过程,要么使用内置导入,然后仔细地对导入的数据进行后处理,将所有 NULL 转换为其他值。
BLANK alpha 值必须转换为零长度 CHAR 或 VARCHAR 值。
BLANK 数值必须转换为与自身匹配的选定带内标志值。您可能必须保留一个特殊值来表示 BDE BLANK,除非可以使 NaN 或类似的值起作用。在许多情况下,根据应用程序架构,您将能够将 BDE BLANK 转换为 SQL 0。
当然,如果您的 SQL 实现允许一个 BLANK 数值与自身相匹配并与 NULL 区分开来,那么您的问题就会减少,因为您的数据库至少与 BDE 一样有能力。不过,您可能仍然无法使用内置的导入实用程序。
关于null - Paradox 如何管理 null 和空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10228123/
想象一下10辆车随机,均匀分布在长度为1的圆形轨道上。如果位置用[0,1>范围内的C double表示,那么它们可以排序,车之间的间隙应该是车的位置前面减去后面汽车的位置。最后一个间隙需要添加 1 来
我需要从 java 代码中对 paradox 数据库执行一些数据库操作 (我什至不知道悖论的存在) 所以我下载了这个驱动程序,如下所示: https://github.com/leonhad/para
我正在尝试从 java 更新悖论表,但出现异常 java.sql.SQLException:[Microsoft][ODBC Paradox 驱动程序] 操作必须使用可更新的查询。java.sql.S
我目前正在开发一个使用 Paradox 数据库的项目。我需要能够在 Paradox 数据库运行后自动将数据转换为 sql,或者能够直接与 paradox 交互。我似乎找不到通过 python 或 Wi
我处于一种我无法弄清楚的情况。我在具有多种自定义帖子类型的站点上运行 WP 3.4.2。普通帖子显示在博客部分,并位于一个名为博客的类别中,该类别具有不同的子类别。 博客文章和另一种称为“事件”的文章
我已经尝试过使用嵌套循环来解决这个问题,但是如何在不使用嵌套循环且在同一类文件中的情况下解决它。问题是求一组中两个人生日相同的概率。它应该产生以下输出:在 5 个人的小组和 10000 次模拟中,概率
我正在与一位拥有现有系统的客户合作,该系统显然是基于 Paradox 数据库构建的。我有一个 zip 文件形式的数据库,其中包含 .DB、.MB 和 .PX 文件,每个表一个。 我需要获取(一些)这些
我想读取包含阿拉伯字符的数据库。我想将其转换为 SQL 或 Access。我尝试使用 UTF-8 字符集的“Paradox dBase Access Reader”,但数据库不可读。该数据库非常古老,
我是德尔福开发者。 他有办法通过互联网连接到 Paradox DB 吗? 有几年,我为我的学校开发了一个通用的库存管理应用程序(Material Management):Delphi 7 + para
我需要 Access DB(悖论)文件中的数据库。我所在的项目将使用 Delphi 和 Access(我知道它很旧,但客户想要这个),旧项目使用 paradox 数据库。 我想知道,是否有任何程序可以
有什么办法可以防止Paradox中出现空字段?当我尝试我执行。 CREATE TABLE "users" ( user_id INTEGER NOT NULL ) 我不支持功能。 (BDE错误122
我正在开发一个旧版 VB6 项目,我需要进行如下所示的 JOIN 调用: SELECT C.Cnum, C.RealDate, M.Name, R.Price, R.Qnt, R.RealPrice,
我们有一个基于 paradox/objectpal 的相当大的应用程序。自从我们将数据库从基于文件的表(悖论)移至 MS sql 2008 Express 版本以来,我们遇到了许多偶尔出现的一般保护违
我通过 Borland 数据库引擎 (BDE) 使用 Paradox 表。 我无法理解 null 和 空字符串 值在字符串字段(Paradox 数据类型“A”)中的处理方式。 我的具体问题是如何确定字
我通过 Borland 数据库引擎 (BDE) 使用 Paradox 表。 我无法理解 null 和 空字符串 值在字符串字段(Paradox 数据类型“A”)中的处理方式。 我的具体问题是如何确定字
我是 python (2.7) 的初学者。这是我的文件: data, 1234, data data, 6868, data data, 3545, data data, 6868, data dat
我在 Paradox 中使用 Odbc 驱动程序。我有一张 table ,里面有日期。我正在尝试按该列中的日期查询。我似乎无法使 where 子句起作用。我可以通过整数搜索记录,但我不知道如何使用日期
我的问题是:如何连接java tp paradox/borland database ".DB"单个文件? 这是我拥有的: 因此,它是 Paradox 7 数据库文件。 我正在尝试驱动程序: http
我在使用 Delphi2010 在 Paradox 7 表中设置二级索引范围时遇到问题。 相关字段是: 特征类型(int); Y 最大 (int); X 最大 (int); YMin(int); Xm
我有一个来自遗留系统的悖论表,我需要在其上运行单个查询。字段名称中包含空格 - 即“Street 1”。当我尝试在 delphi 中仅针对“Street 1”字段制定查询时,出现错误 - 关键字使用无
我是一名优秀的程序员,十分优秀!