我與MySql存在問題 我有一個包含來自網站的已解析信息的表。一個奇怪的字符串解釋出現:對等值的Mysql字符串檢查對於相同的值爲false
查詢
select id, address from pagesjaunes_test where address = substr(address,1,length(address)-1)
返回一組
在開始的時候我執行的功能價值,而不是無的:
address = replace(address, '\n', '')
address = replace(address, '\t', '')
address = replace(address, '\r', '')
address = replace(address, '\r\n', '')
address = trim(address)
,但問題仍然存在。
字段「地址」的值有一些法語字符,但查詢返回的值也只包含alfanumeric英語字符。
另一個測試:我試圖檢查字符串的長度和...來自PHP的strlen()和來自MYSQL的LENGTH()顯示不同的結果!某處不同之處在於2個字符,某處是1個字符,沒有特定的「規則」。
Visual我看不到任何空間或標籤或其他東西。
我修改地址manualy後(我刪除了所有字符串,我又寫了),問題就解決了,但我有〜6000倍的值,所以這不是一個解決方案:)
有什麼可以的問題?
我想,字符串可以有一些「空字符」,但如何檢測並刪除它?
謝謝
P.S. 問題不只是長度。我需要與其他人一起加入此表,並使用檢查字段「地址」中的值是否等於的條件。即使字段具有相同的排序規則並且表具有相同的排序規則,查詢返回沒有地址匹配的條件
例如,
對於查詢:
SELECT p.address,char_length(p.address) , r.address, char_length(r.address)
FROM `pagesjaunes_test` p
LEFT JOIN restaurants r on p.name=r.name
WHERE
p.postal_code=r.postal_code
and p.address!=r.address
and p.phone=''
and p.cuisines=''
LIMIT 10
所以: p.address = r.address
結果是:
+-------------------------------------+------------------------+--------------------------+------------------------+ | address | char_length(p.address) | address | char_length(r.address) | +-------------------------------------+------------------------+--------------------------+------------------------+ | Dupin Marc13 quai Grands Augustins | 34 | 13 quai Grands Augustins | 24 | | 39 r Montpensier | 16 | 39 r Montpensier | 16 | | 8 r Lord Byron | 14 | 3 r Balzac | 10 | | 162 r Vaugirard | 15 | 162 r Vaugirard | 15 | | 32 r Goutte d'Or | 16 | 32 r Goutte d'Or | 16 | | 2 r Casimir Périer | 18 | 2 r Casimir Périer | 18 | | 20 r Saussier Leroy | 19 | 20 r Saussier Leroy | 19 | | Senes Douglas22 r Greneta | 25 | 22 r Greneta | 12 | | Ngov Ly Mey44 r Tolbiac | 23 | 44 r Tolbiac | 12 | | 33 r N-D de Nazareth | 20 | 33 r N-D de Nazareth | 20 | +-------------------------------------+------------------------+--------------------------+------------------------+
正如你看到的,「162 [R Vaugirard「,」20 Saussier Leroy「只包含ASCII字符,長度相同,但不等於!
問題不只是長度。我需要與其他人一起加入此表,並使用檢查字段「地址」中的值是否等於的條件。即使字段具有相同的排序規則並且表具有相同的排序規則,但查詢返回的地址不匹配 – Ruslan 2012-04-13 09:39:13