0

値がNULLの場合、列にテキストを追加できません。(1行が影響を受ける)と表示されますが、それでもNULLと表示されます。ただし、すでに値が存在する場合は、列にテキストを挿入するように機能します。元。'なんでも'

ProductGroup_Keywords(varchar(max)、null)

以下の2つのルートを試しました

`Update [dbo].[Category]
 SET ProductGroup_Keywords = ProductGroup_Keywords + 'football'
 WHERE Category_ID = 101`

'Update [dbo].[Category]
 SET ProductGroup_Keywords = convert(nvarchar(max),ProductGroup_Keywords) + 'football'
 WHERE Category_ID = 101'

次に、以下のように設定しようとしましたが、それでもNULLと表示されました

'Update [dbo].[Category]
 SET ProductGroup_Keywords = 'football'
 WHERE ProductGroup_Keywords = 101'

助けてください!:)

4

2 に答える 2

3
 Update [dbo].[Category] 
 SET ProductGroup_Keywords = coalesce( ProductGroup_Keywords, '')  + 'football' 
 WHERE Category_ID = 101' 
于 2012-08-31T18:09:46.387 に答える
1

別の方法は、CASEステートメントを使用することです。

 Update [dbo].[Category] 
 SET ProductGroup_Keywords = CASE 
                                WHEN ProductGroup_Keywords IS NULL THEN 'football'
                                ELSE ProductGroup_Keywords + 'football'
                             END  
 WHERE Category_ID = 101' 

またはCOALESCEではなくISNULL...

 Update [dbo].[Category] 
 SET ProductGroup_Keywords = ISNULL( ProductGroup_Keywords, '')  + 'football' 
 WHERE Category_ID = 101' 

重要なことは、@JoeStefanelliが言ったことです。x + NULL = NULL

于 2012-09-02T18:53:08.903 に答える