如何在mysql文本字段中删除单引号'字符?

时间:2015-01-20 10:34:21

标签: mysql mysqli

这是我的疑问:

SELECT count(email_details.id) as total_emails,
       email_titles.* 
  FROM email_details 
  LEFT JOIN email_titles ON email_details.email_title = email_titles.title 
 GROUP BY email_details.email_title 
 ORDER BY email_titles.id ASC

现在我的问题是email_details.email_title是blob字段,email_titles.title是文本字段, 两个字段都有字符的数据说“本月的视频”,当我运行此查询时没有left join字符的行无法检索, 如果我把左连接然后它只检索第一个表数据。 如何解决这个问题?

enter image description here enter image description here

2 个答案:

答案 0 :(得分:1)

我自己解决了我的问题, 我修改了像这样的连接代码

LEFT JOIN `email_titles` ON CONVERT( email_details.email_title
USING utf8 ) = CONVERT( email_titles.title
USING utf8 ) 

答案 1 :(得分:0)

最好的选择是加入除了那些大块文本之外的其他内容,或者如果不可能,请确保在两个表中以相同的方式存储相同的文本。

如果这也不可能,则需要将blob转换为连接的文本,也可以将varchar转换为char。像这样的东西

SELECT count(email_details.id) as total_emails,
       email_titles.* 
  FROM email_details 
  LEFT JOIN email_titles 
    ON email_details.email_title = CAST(email_titles.title AS char(100) CHARACTER SET utf8) 
 GROUP BY email_details.email_title 
 ORDER BY email_titles.id ASC