小编Tam*_* JQ的帖子

SQL:如果该值为null,如何更新列上的值?

我有一个SQL问题,这可能是一些基本的,但令我感到困惑.

以下是表'Person'的列名称示例:PersonalID,FirstName,LastName,Car,HairColour,FavDrink,FavFood

假设我输入了一行:

121312,Rayna,Pieterson,BMW123d,Brown,NULL,NULL

现在我想更新此人的值,但仅当新值不为null时,更新:

121312,Rayna,Pieterson,NULL,Blonde,Fanta,NULL

新行必须是:

121312,Rayna,Pieterson,BMW123d,Blonde,Fanta,NULL

所以我想的是:

更新人(PersonalID,名字,姓氏,租车,染发,FavDrink,FavFood)设置汽车= @Car(其中@Car不为空),染发= @HairColour(其中@HairColour ...)...等等.

我唯一担心的是我无法在查询结束时对所有条件进行分组,因为它将要求所有值具有相同的条件.如果@HairColour不是Null,我不能像Update HairColour那样做

mysql sql sql-server where-clause sql-update

12
推荐指数
2
解决办法
4万
查看次数

SQL:如何在接下来的三个可用日期中选择表条目?

进一步澄清这个问题......

我有以下表ORDERS_TAB和一些示例信息:

|Order| Launch_Date |
|  1  |   27-Sep-11 |
|  2  |   29-Sep-11 |
|  3  |   30-Sep-11 |
|  4  |   03-Oct-11 |
|  5  |   28-Oct-11 |
|  8  |   10-Oct-11 |
|  7  |   29-Sep-11 |
Run Code Online (Sandbox Code Playgroud)

我想在接下来的三个可用日期内(包括当天)选择所有具有LAUNCH_DATE值的订单.因此,如今今天是29日至9月11日,表中的三个可用日期将是9月29日至9月30日,9月30日至11日以及03年10月3日.因此查询将返回结果:

|Order| Launch_Date |
|  2  |   29-Sep-11 |
|  3  |   30-Sep-11 |
|  4  |   03-Oct-11 |
|  7  |   29-Sep-11 |
Run Code Online (Sandbox Code Playgroud)

所以我假设我需要检查系统中的当前日期,搜索这个日期或下一个可用的日期,然后找到接下来的两个可用日期..问题是我不知道如何做到这一点!

我正在寻找的是一个简单的SELECT语句,但有一些条件但是我们非常感谢任何帮助,

谢谢.:)

sql oracle where-clause

1
推荐指数
1
解决办法
317
查看次数

标签 统计

sql ×2

where-clause ×2

mysql ×1

oracle ×1

sql-server ×1

sql-update ×1