2012-06-05 47 views
0

我正在使用Advantage Database Server 9.10,並且我想將一個文本附加到備註字段。如何將文本追加到備註字段?

我試過這種方式,

UPDATE 
    myTable 
SET 
    memo = cast(memo as SQL_VARCHAR(max)) 
     + cast(' Appended string' as SQL_VARCHAR(max)) 
WHERE 
    pk = '80' 

,但它不工作,

有人知道如何做到這一點?

+0

不工作=什麼。無效的sql沒有對數據進行更改,備忘錄不會以您的預期結束? –

+0

就是無效的sql。我想這個,假設備忘錄字段(備忘錄類型)具有「ABC」值,並且我想在'ABC'後追加到'DEF',那麼我應該如何爲此編寫查詢? –

+0

不知道自己有什麼優勢,但其他一些boyz已經權衡了。不能說我喜歡這個想法。如果我使用的是Text/Image/Blob,我會盡我最大的努力來操縱它的客戶端。編碼會導致這種方法的一些心悸。 –

回答

2

我覺得你可以更簡單地寫:

UPDATE 
    myTable 
SET 
    memo = memo + ' Appended string' 
WHERE 
    pk = '80' 

如果memo字段可能爲空,你不希望的結果是NULL,你可以做這樣的事情:

... 
SET 
    memo = ifnull(memo, '') + ' Appended string' 
... 
0

這個工作對我來說,你只需要確保你允許在VARCHAR()足夠的字符:

UPDATE 
    myTable 
SET 
    memo = CONVERT(VARCHAR(8000),memo) + ' Appended String' 
FROM 
    myTable 
WHERE 
    pk = '80' 

我,因爲在我的項目,我不得不LEFT JOIN情侶表也增加了FROM myTable