Sybase 测试数据生成 - 日期

Posted

技术标签:

【中文标题】Sybase 测试数据生成 - 日期【英文标题】:Sybase test data generation - Dates 【发布时间】:2021-07-27 09:07:38 【问题描述】:

当我在 PowerDesigner 16.1 中创建测试数据时,软件总是在日期旁边包含一个时间。

有没有什么办法可以修改测试数据生成,去掉时间,只获取日期,遵循这种格式(mm/dd/yyyy)?

当我生成测试数据时,我会得到如下信息:

INSERT INTO test ('a', 'b', '2020-5-7 0:0:0')

谢谢大家:)

【问题讨论】:

您为哪个 DBMS 生成?我以 Sybase ASE 15.5 为例,生成的数据取决于列数据类型:列定义为日期时间、日期、时间,我得到像 insert into TABLE_1 (COLUMN_1, COLUMN_2, COLUMN_3) values ('2004-9-10 4:26:24', '2006-7-26', '4:35:37') 这样的行。 使用 ASE,您可以(仅)将日期插入到 datetime 列中,ASE 会将时间组件默认为 12:00:00 AM;但我同意 Mitch ... 如果您不需要时间组件,请使用 date 数据类型来消除存储时间所需的额外空间。 【参考方案1】:

我发现了我的错误。创建 CDM 时,我将日期列设置为“日期”数据类型。

当我传递给 LDM 时,我需要再次将所有日期列设置为“日期”数据类型,因为软件会自动更改为“日期时间”数据类型。

最后,当我构建 PDM 时,我必须再次将所有日期列更改为“Date”数据类型,因为软件出于某种原因再次自动将其更改为“DateTime”数据类型。

【讨论】:

使用 PDM 域来指定列的类型。这样你就只有一种类型可以改变了。

以上是关于Sybase 测试数据生成 - 日期的主要内容,如果未能解决你的问题,请参考以下文章

FsCheck:如何生成依赖于其他测试数据的测试数据?

SQL Server生成随机日期模拟测试数据的需求

MySQL快速生成大量测试数据(100万、1000万、1亿)

Sybase:数据库检索的日期格式

PreparedStatement 不适用于 Java 中的 Sybase IQ

为啥在oracle性能测试时,不需要监控网络性能指标?而sybase则需要