0
我試圖將生產數據複製到測試環境中。在表 之一中,我有一個定義爲VARCHAR(10)的出生日期字段。由於這是一個敏感的列,因此我們需要隨機化此日期字段中的值,以便原始DOB不會暴露給開發人員。您可以請指導我如何隨機化日期或在普及的SQL中爲日期字段添加日期。將日期添加到Pervasive中的varchar字段SQL
我試圖將生產數據複製到測試環境中。在表 之一中,我有一個定義爲VARCHAR(10)的出生日期字段。由於這是一個敏感的列,因此我們需要隨機化此日期字段中的值,以便原始DOB不會暴露給開發人員。您可以請指導我如何隨機化日期或在普及的SQL中爲日期字段添加日期。將日期添加到Pervasive中的varchar字段SQL
如果您正在使用PSQL的新版本(我試過V12),你可能會使用這樣的算法生成一個新的日期:
create table dtTest (f1 varchar(10));
insert into dtTest (f1) values ('2016-02-28');
select F1, left(convert(dateadd(day, truncate(rand() * 10, 0), dateadd(month, truncate(rand() * 10, 0), convert(f1, SQL_DATE))), SQL_VARCHAR), 10) from dtTest;
它甚至可以變成一個更新語句並對您的桌面運行:
update <Table> set <DateField> = left(convert(dateadd(day, truncate(rand() * 10, 0), dateadd(month, truncate(rand() * 10, 0), convert(<DateField>, SQL_DATE))), SQL_VARCHAR), 10)
有幾個問題。你使用的是什麼版本的PSQL?日期的樣子是什麼(yyyy-mm-dd,dd/mm/yyyy等)?根據您使用的版本,您可以使用RAND函數生成一個隨機數,您也可以使用DATEADD將該數添加到日期。但是,這一切都取決於VARCHAR(10)字段的佈局。如果該字段被定義爲DATE,則會更容易。 – mirtheil