AddrZipという列に対して単純なselectステートメントを実行して、列の最初のスペースの後に「1/2」を含むすべてのレコードを表示する必要があります。Access 2007では、次のようになります。
**Left([Names],InStr(1,[Names]," ")-1)
ただし、SQL2005でそれを行う方法を見つけることができません。すべてのヘルプに感謝します。
6255 次
2 に答える
1
まず、次のレコードを探します' '
。
CHARINDEX(' ', [AddrZip]) > 0
次に、の後に'1/2'
発生するレコードを探します' '
CHARINDEX('1/2', [AddrZip], CHARINDEX(' ', [AddrZip])) > 0
SELECT *
FROM ( SELECT *
FROM [Addresses]
WHERE CHARINDEX(' ', [AddrZip]) > 0
) x
WHERE CHARINDEX('1/2', [x].[AddrZip], CHARINDEX(' ', [AddrZip])) > 0
この「簡略化された」バージョンは動作する可能性があります:
SELECT *
FROM [Addresses]
WHERE CHARINDEX(' ', [AddrZip]) > 0
AND CHARINDEX('1/2', [x].[AddrZip], CHARINDEX(' ', [AddrZip])) > 0
文字列の最初のスペースである a の直前にある の出現箇所を検索する場合は、次のコードを使用'1/2'
し ます。' '
' '
SELECT *
FROM [Addresses]
WHERE CHARINDEX(' ', [AddrZip]) > 0
AND CHARINDEX(' ', [AddrZip]) = CHARINDEX(' 1/2', [x].[AddrZip])
LIKE
オペレーターはできるだけ避けてください。彼らは悪名高いほど遅いです。
于 2010-10-22T16:52:46.653 に答える
0
これを試して -
select * from table where addrZip like '%\ 1/2%' escape '\'
于 2010-10-22T16:49:08.347 に答える