我试着用https在应该是MySQL的一列中标记明显的非URL,我取URL名称的前七个字符,看看它们是“https:/”还是“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函数来查看'http://'在URL中的起始位置,MySQL会返回位置3,如下所示:
SELECT INSTR(my_URL,'http://') FROM my_URL_table返回:3,而不是第一个位置。我尝试通过添加一个TRIM(my_URL)函数来执行SELECT操作,但是TRIM没有改变任何内容。
URL是使用我用Notepad++编写并在phpMyAdmin中运行的INSERT VALUES命令放入表中的。
有没有人能想到这些神秘人物是什么?关于如何处理它们的建议?
谢谢你的帮助!
发布于 2017-03-03 11:27:46
我不知道,但MySQL可以告诉你:
select ord(left(my_url, 1)), ord(substr(my_url, 2, 1))
. . .ord()函数将告诉您字符的数字等效项,如documentation中所述。
https://stackoverflow.com/questions/42570073
复制相似问题