sql语法高亮

This commit is contained in:
fofolee
2019-05-07 10:15:08 +08:00
parent 6cf279e189
commit 2bf87e1e25
67 changed files with 128 additions and 128 deletions

View File

@@ -10,6 +10,6 @@
<tr>
<td>3</td> <td>Gorgonzola</td> <td>15.67</td> <td>9</td> <td>20</td> </tr>
</table>
<p>假如 "UnitsOnOrder" 是可选的,而且可以包含 NULL 值。</p> <p>我们使用下面的 SELECT 语句:</p> <div class="code notranslate"><pre><div> SELECT ProductName,UnitPrice*(UnitsInStock+UnitsOnOrder)<br/> FROM Products</div></pre></div> <p>在上面的实例中,如果有 "UnitsOnOrder" 值是 NULL那么结果是 NULL。</p> <p>微软的 ISNULL() 函数用于规定如何处理 NULL 值。</p> <p>NVL()、IFNULL() 和 COALESCE() 函数也可以达到相同的结果。</p> <p>在这里,我们希望 NULL 值为 0。</p> <p>下面,如果 "UnitsOnOrder" 是 NULL则不会影响计算因为如果值是 NULL 则 ISNULL() 返回 0</p> <p><b>SQL Server / MS Access</b></p> <div class="code notranslate"><pre><div> SELECT ProductName,UnitPrice*(UnitsInStock+ISNULL(UnitsOnOrder,0))<br/> FROM Products</div></pre></div> <p><b>Oracle</b></p> <p>Oracle 没有 ISNULL() 函数。不过,我们可以使用 NVL() 函数达到相同的结果:</p> <div class="code notranslate"><pre><div> SELECT ProductName,UnitPrice*(UnitsInStock+NVL(UnitsOnOrder,0))<br/> FROM Products</div></pre></div> <p><b>MySQL</b></p> <p>MySQL 也拥有类似 ISNULL() 的函数。不过它的工作方式与微软的 ISNULL() 函数有点不同。</p> <p>在 MySQL 中,我们可以使用 IFNULL() 函数,如下所示:</p> <div class="code notranslate"><pre><div> SELECT ProductName,UnitPrice*(UnitsInStock+IFNULL(UnitsOnOrder,0))<br/> FROM Products</div></pre></div> <p>或者我们可以使用 COALESCE() 函数,如下所示:</p> <div class="code notranslate"><pre><div> SELECT ProductName,UnitPrice*(UnitsInStock+COALESCE(UnitsOnOrder,0))<br/> FROM Products</div></pre></div> <br/><div class="text-center padding-10 margin-t-5">
<p>假如 "UnitsOnOrder" 是可选的,而且可以包含 NULL 值。</p> <p>我们使用下面的 SELECT 语句:</p> <div class="code notranslate"><pre><code class="language-sql"><div> SELECT ProductName,UnitPrice*(UnitsInStock+UnitsOnOrder)<br/> FROM Products</div></code></pre></div> <p>在上面的实例中,如果有 "UnitsOnOrder" 值是 NULL那么结果是 NULL。</p> <p>微软的 ISNULL() 函数用于规定如何处理 NULL 值。</p> <p>NVL()、IFNULL() 和 COALESCE() 函数也可以达到相同的结果。</p> <p>在这里,我们希望 NULL 值为 0。</p> <p>下面,如果 "UnitsOnOrder" 是 NULL则不会影响计算因为如果值是 NULL 则 ISNULL() 返回 0</p> <p><b>SQL Server / MS Access</b></p> <div class="code notranslate"><pre><code class="language-sql"><div> SELECT ProductName,UnitPrice*(UnitsInStock+ISNULL(UnitsOnOrder,0))<br/> FROM Products</div></code></pre></div> <p><b>Oracle</b></p> <p>Oracle 没有 ISNULL() 函数。不过,我们可以使用 NVL() 函数达到相同的结果:</p> <div class="code notranslate"><pre><code class="language-sql"><div> SELECT ProductName,UnitPrice*(UnitsInStock+NVL(UnitsOnOrder,0))<br/> FROM Products</div></code></pre></div> <p><b>MySQL</b></p> <p>MySQL 也拥有类似 ISNULL() 的函数。不过它的工作方式与微软的 ISNULL() 函数有点不同。</p> <p>在 MySQL 中,我们可以使用 IFNULL() 函数,如下所示:</p> <div class="code notranslate"><pre><code class="language-sql"><div> SELECT ProductName,UnitPrice*(UnitsInStock+IFNULL(UnitsOnOrder,0))<br/> FROM Products</div></code></pre></div> <p>或者我们可以使用 COALESCE() 函数,如下所示:</p> <div class="code notranslate"><pre><code class="language-sql"><div> SELECT ProductName,UnitPrice*(UnitsInStock+COALESCE(UnitsOnOrder,0))<br/> FROM Products</div></code></pre></div> <br/><div class="text-center padding-10 margin-t-5">
</div>
</div>