2013-12-09 30 views
0

的考試我有2個表如何使一個自定義的列在MySQL查詢值

1) Post - and its columns : 
pid : 
uid : 
title : 
content : 
created date : 

...

2) URL alias 
aid : 
sou_url : 
des_url : 

用來存儲網址別名中的所有頁面的第二個表我網站 我創建了一個函數來獲取別名這樣

function get_alias_url($surl); 

for exam get_alias_url("pid/50") = "this-is-my-first-post"; 

所以,現在,我要選擇具有ü所有帖子rl別名的長度> 50 我想知道,有沒有辦法做一個查詢來做到這一點? 它可能看起來像:

Select * from post where length(get_alias_url("pid/nid")) > 50 

感謝

回答

2

LENGTH()返回以字節爲單位的字符串的長度。 CHAR_LENGTH()返回字符串的長度。

$query = 'SELECT * FROM post WHERE char_length('. get_alias_url("pid/nid").') > 50'; 

您的PHP函數仍應該在您的查詢中工作。

希望這會有所幫助!

1

您可以使用MySQL CHAR_LENGTH()函數查詢。

對於在MySQL相關的字符串函數的完整列表,請here

+0

感謝您的回覆,但我的問題是:我可以在mysql中使用php函數嗎? –

+0

你可以在你的查詢字符串本身中使用它,就像當你構建它時發送給你準備好的語句一樣。你能否更清楚地解釋你的意圖?我可以調整我的答案。 – Zarathuztra

+0

謝謝,這對我很有用 –

相關問題