表A:
Id Name DateCreated DateModified
-----------------------------------
1 A 2013-1-12 2013-1-15
2 B NULL 2013-2-1
3 C NULL NULL
我必须将此表的数据迁移到另一个表中,其中DateCreated
是一个不可为空的列,条件是DateCreated
为空时使用DateModified
并且如果两者都为null使用当前日期。
我无法使用
ISNull(DateCreated,DateModified)
因为两者都可以为空。
我该怎么办?该表有大约10000行。
答案 0 :(得分:7)
您可以使用COALESCE(DateCreated, DateModified, GETDATE())
答案 1 :(得分:2)
嵌套Isnull
Isnull(DateCreated,isnull(DateModified, getdate()))
或使用CASE
case when DateCreated is null and DateModified is null then getdate()
when DateCreated is null then DateModified
else DateCreated end
答案 2 :(得分:-2)
$result = mysql_query($query, $link);
if ($result) {
while($row = mysql_fetch_array($result)) {
if ($row['DateCreated'] == 'NULL'){
if ($row['DateModified'] == 'NULL'){
$today = date("Y-m-d");
$id = $row['id'];
$query = sprintf("SET DateCreated = $today WHERE id = $id");
} else {
$newDate = $row['DateModified'];
$id = $row['id'];
$query = sprintf("SET DateCreated = $newDate WHERE id = $id");}
}
}
}
else {
echo mysql_error();
}