2016-01-03 74 views
0

我有兩個表問題和question_paper。在question_paper我有一個名爲question_ids .in question_ids-(文本類型)的列,我存儲問題表的ID像2,5,23,45,6,9等。現在的問題是,當我試圖取數據使用如何更改mysql查詢中的數據類型?

select * from question where id IN (select question_ids from question where id=1)它將question_ids作爲字符串類型傳遞,因此它只返回第一個匹配的id的值。因此,我需要將此查詢結果更改爲數字類型,這在mysql中是可能的,還是有任何函數使用我可以更改臨時類型。先謝謝了。

+1

您是否嘗試過CAST()或CONVERT()?只是谷歌「mysql鑄」 – yahermann

+1

使用CAST()函數 –

+0

試試這個[SO帖子](http://stackoverflow.com/questions/17942508/sql-split-values-to-multiple-rows)首先拆分你的question_id字符串到行中,然後將其用於您的子查詢。我認爲這應該工作。 – vmachan

回答

-1

MySQL CAST()函數將任何類型的值轉換爲具有指定類型的值。 http://www.mysqltutorial.org/mysql-cast/

+0

我試過但沒有工作我很困惑與子查詢如何使用CAST()與子查詢。這是正確的方式「select * from問題其中ID IN(CAST((從問題where select id = 1 select select question_ids)AS UNSIGNED))」 –

+0

是否有任何其他方式,像我可以從子查詢的結果中刪除引號。 –

+1

在你的question_id中有逗號,那麼如何在UNSIGNED中投射? –