簡體   English   中英

如果字段不為空,則分配一個值

[英]Assign a value if the field is not null

我正在 MS Access 上進行 SQL 項目。 我想知道是否有辦法在每次字段非空時分配相同的值。 我知道有 Nz() 函數的作用相反,但我不知道其他函數。 另外,我想在每次字段為 NULL 時輸入不同的值

我的桌子看起來像那樣。

date


MARCH17
JUNE18

JULY19

我想得到類似的東西。

date
1
2
PRESENT
PRESENT
5
PRESENT

如果我必須創建另一列,也完全沒問題。

提前致謝 !

您需要將新信息放在新列中,否則,如果您多次運行查詢,您將獲得所有內容的PRESENT ,因為第一個查詢用序列號替換了NULL date

如果您有一個id列,您可以使用:

UPDATE table SET new_column = (SELECT IIF(date IS NULL, id,'PRESENT'))

如果您沒有id列(強烈推薦),那么您需要生成一個序列號。

你的表有主鍵嗎? 然后你想計算主鍵小於這個的所有空值來給你你的數字,並把它放在不為空的地方。 因此(假設您的字段是 F1 並且主鍵稱為 PK)以下計算字段

=IIf(ISNULL([F1]),DCOUNT("[PK]","MYTABLE","[PK]<" & [PK]) &""","PRESENT")

您可以使用:

UPDATE 
    YourTable 
SET 
    [date] = IIf([date] Is Null, 
        (Select Count(*) + 1 From YourTable As T Where T.[date] <> 'PRESENT'),
        'PRESENT'))
WHERE 
    [date] <> 'PRESENT'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM