我正在尝试使用MySQL在一个应该是URL的列中标记明显的非URL。我正在使用URL名称的前七个字符,看看它们是否出现在'http://'或'https:/'。但是,一个URL会返回'http:',如下所示:
SELECT SUBSTR(my_URL,1,7) FROM my_URL_table
返回:'http:'
- 显然是五个字符,而不是预期的七个字符。违规的现实生活中的URL是:
http://www.wsmv.com/story/34609714/f...s-parade-crash
就好像在URL的开头有两个额外的字符,它们都是不可见的并且不占用空间。 (暗物质字符?)。实际上,如果我运行INSTR函数来查看URL中的哪个位置'http://'
,MySQL会返回位置3,如下所示:
SELECT INSTR(my_URL,'http://') FROM my_URL_table
返回:3而不是第一个位置。我尝试使用TRIM(my_URL)
函数添加SELECT,但TRIM没有改变任何内容。
使用我在Notepad ++中编写并在phpMyAdmin中运行的INSERT VALUES命令将URL放入表中。
有谁能想到这些神秘人物会是什么?关于如何处理它们的建议?
感谢您的帮助!
答案 0 :(得分:2)
我不知道,但MySQL可以告诉你:
select ord(left(my_url, 1)), ord(substr(my_url, 2, 1))
. . .
ord()
函数会告诉您角色的等效数字,如documentation中所述。