0

部品番号を含む列を持つMySQL データベースがあります。一部の部品番号にはスペースが含まれています。

3864205010  J

データベースにクエリを実行したり、部品を検索phpMyAdminしたりすると、結果が返されません。

しかしdelete2 つのスペース入力してからもう一度入力すると、検索結果が返されます。

このクエリは結果を返しません:

SELECT * 
FROM  `parts` 
WHERE  `part_no` LIKE  '3864205010  K'

このクエリは結果を返します。

SELECT * 
FROM  `parts` 
WHERE  `part_no` LIKE  '3864205010  K'

それらは同じように見えますが、2 番目のクエリでは、「K」の前の 2 つのスペースを削除し、スペースを再度入力しました。

4

4 に答える 4

2

スペースの代わりにワイルドカードを使用できる場合:

SELECT * 
FROM  `parts` 
WHERE  `part_no` LIKE  '3864205010%K'
于 2013-04-11T12:42:33.130 に答える
0
SELECT * 
FROM  `parts` 
WHERE  REPLACE(REPLACE(`part_no`, CHAR(9), ''),' ','') LIKE  REPLACE(REPLACE('3864205010  K', CHAR(9), ''),' ','')

part_noおよび/または検索文字列にタブやスペースが含まれている場合、これはおそらく機能します。

于 2013-04-11T12:45:31.160 に答える
0

はい、更新された質問としてはい

SELECT REPLACE( REPLACE( part_no, " ", " " ), " ", " " ) from parts.

それがあなたのために働くかどうか教えてください。

于 2013-04-11T12:37:30.967 に答える