sql - 如何使用变量为列中的每一行创建随机日期?
问题描述
我目前正在尝试随机化列中的每个日期!
这会为变量创建一个随机日期并将其分配给每一行,还是会为每一行生成一个唯一的随机日期?
DECLARE @RandomDate DATETIME
SET @RandomDate = CONVERT(varchar,DATEADD(DAY, ABS(CHECKSUM(NEWID()) % (364 * 5), '2000-01-01', 121)
UPDATE myDateTable
SET randomDateColumn = @RandomDate
(我在这里使用了一个变量,而不是在更新语句中正确使用它,因为我还有另一列,我在变量日期之后添加随机天数!)
解决方案
变量在语句执行之前设置;然后将其值分配给整个列。
如果您希望在每一行上都有一个随机值,那么您需要将表达式放在查询中:
UPDATE myDateTable
SET randomDateColumn = DATEADD(DAY, ABS(CHECKSUM(NEWID()) % (364 * 5), '2000-01-01')
推荐阅读
- python - 使用python从postgres中检索varchar
- python - 在 Python unittest 中,有没有办法编写在断言失败时运行的代码?
- php - Problem with the phpMyAdmin ssl configuration
- java - Discord JDA Bot 在调用扩展类时抛出 NullPointerException
- botframework - 在 Composer 中将 Timex 转换为日期
- javascript - 使用 Octokit 登录 Github 的 NodeJS 返回错误凭据
- r - 错误:图形参数“类型”已过时。添加 abline 时
- html - Jekyll/github 页面问题:不带斜杠的 URL 正在加载旧版本/过时版本的 github 站点
- mongodb - 需要帮助在 MongoDB 中选择分片键
- yii - Yii 1.1.21:是否可以在同一个按钮组中创建两个下拉按钮?