1

VARCHAR少数のフィールドを含む SQL (SQL Server Express 2008) テーブルがあります。

どの値にも特定の文字が含まれCheck Constraintていないことを確認するを作成したいと思います。VARCHAR

例: ( FirstName 列と LastName 列に<>、または?文字を使用しないでください)

(NOT [FirstName] LIKE '%<%' 
AND NOT [FirstName] LIKE '%>%' 
AND NOT [FirstName] LIKE '%?%')
AND 
(NOT [LastName] LIKE '%<%' 
AND NOT [LastName] LIKE '%>%' 
AND NOT [LastName] LIKE '%?%')

上記の SQL 構文は正常に機能しますが、同じことを簡単に行う方法があればよいでしょう。例の冗長性に注意してください。列や無効な文字を追加したい場合、これは面倒です

次のようなことができればいいのですが。

NOT FirstName,LastName LIKE IN ('<','>','?')

式でこのようなことを行うことは可能Check Constraintですか?

4

2 に答える 2

5

使用できます

NOT ([FirstName]  LIKE '%[<>?]%' OR [LastName]  LIKE '%[<>?]%')
于 2012-10-23T20:36:36.640 に答える