MS Access-仅在满足某些条件的情况下创建查询以替换字符串

时间:2020-10-05 17:23:21

标签: ms-access

我可能应该开始对MS Access感到陌生,实际上,我目前正在学习如何使用它。就是说,我偶然发现了这样一种情况:经过长时间的互联网搜索后,我仍然找不到解决方法。

我想做的是创建一个MS Access查询,该查询将通过“日期”列,并且如果我们有一个“”。替换为“否”。如果您能帮助我,或者至少给我一个提示,我将如何实现这一目标,我将不胜感激。预先谢谢你!

我尝试使用Replace(column,“。”,“ no”)。但是,这会影响所有点,然后日期中的日期将是“否”而不是“。”。

<style type="text/css">
.tg  {border-collapse:collapse;border-spacing:0;}
.tg td{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px;
  overflow:hidden;padding:10px 5px;word-break:normal;}
.tg th{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px;
  font-weight:normal;overflow:hidden;padding:10px 5px;word-break:normal;}
.tg .tg-0pky{border-color:inherit;text-align:left;vertical-align:top}
</style>

Before the query:
<table class="tg">
<thead>
  <tr>
    <th class="tg-0pky">Name</th>
    <th class="tg-0pky">Date</th>
    <th class="tg-0pky">Quantity</th>
  </tr>
</thead>
<tbody>
  <tr>
    <td class="tg-0pky">John</td>
    <td class="tg-0pky">10.10.2020</td>
    <td class="tg-0pky">3</td>
  </tr>
  <tr>
    <td class="tg-0pky">Tom</td>
    <td class="tg-0pky">05.05.2020</td>
    <td class="tg-0pky">4</td>
  </tr>
  <tr>
    <td class="tg-0pky">Ben</td>
    <td class="tg-0pky">02.02.2012</td>
    <td class="tg-0pky">-3</td>
  </tr>
    <tr>
    <td class="tg-0pky">Josh</td>
    <td class="tg-0pky">.</td>
    <td class="tg-0pky">1</td>
  </tr>
</tbody>
</table>

After the query:

<table class="tg">
<thead>
  <tr>
    <th class="tg-0pky">Name</th>
    <th class="tg-0pky">Date</th>
    <th class="tg-0pky">Quantity</th>
  </tr>
</thead>
<tbody>
  <tr>
    <td class="tg-0pky">John</td>
    <td class="tg-0pky">10.10.2020</td>
    <td class="tg-0pky">3</td>
  </tr>
  <tr>
    <td class="tg-0pky">Tom</td>
    <td class="tg-0pky">05.05.2020</td>
    <td class="tg-0pky">4</td>
  </tr>
  <tr>
    <td class="tg-0pky">Ben</td>
    <td class="tg-0pky">02.02.2012</td>
    <td class="tg-0pky">-3</td>
  </tr>
    <tr>
    <td class="tg-0pky">Josh</td>
    <td class="tg-0pky">No</td>
    <td class="tg-0pky">1</td>
  </tr>
</tbody>
</table>

1 个答案:

答案 0 :(得分:1)

如果我正确理解你的话...

我假设.(点)是您的区域日期分隔符。

SELECT [Name], IIF(IsDate([Date]), [Date], "no") As [Expr1], Quantity
FROM YourTable;

我需要警告您:NameDate是保留字。避免使用该单词命名对象(表/字段)。参见:Learn about Access reserved words and symbols