如何使用其当前字段中的值对表执行更新。
已经实现了一些试用代码,但是会产生错误。
UPDATE T_CONFIG
SET MIN_REQUIRED_DATE = MIN(select REQUIRED_DATE FROM (select TABLE_NAME from T_CONFIG ))
where MIN_REQUIRED_DATE ='';
MIN_REQUIRED_DATE
将从嵌套Select中获得的表中获取最短日期。
答案 0 :(得分:0)
首先,调查您的查询
UPDATE T_CONFIG
SET MIN_REQUIRED_DATE = MIN(select REQUIRED_DATE FROM (select TABLE_NAME from
T_CONFIG ))
where MIN_REQUIRED_DATE ='';
并专注于本节
MIN(select REQUIRED_DATE FROM (select TABLE_NAME from
T_CONFIG ))
我注意到2个问题:
1)您正在尝试从选择语句REQUIRED_DATE
中检索列select TABLE_NAME from T_CONFIG
,而该列仅返回列名TABLE_NAME
。我认为这不是你的意图
2)MIN
函数的放置错误
因此,根据我可以从您的困境中得出的结论。您的解决方案应该是这样的。
UPDATE T_CONFIG
SET MIN_REQUIRED_DATE = (select MIN(REQUIRED_DATE) FROM (select * from
T_CONFIG) a)
where MIN_REQUIRED_DATE ='';
这应将列MIN_REQUIRED_DATE
中所有为空字符串的行设置为该表T_CONFIG
的最小日期值。
注意:您可能想再次确认此MIN_REQUIRED_DATE
“数据类型”,我个人不记得日期类型列可以为空字符串。根据我的记忆,我只记得它带有一个实际的日期值或Null。