如何在mysql查询中创建自定义列的值

时间:2013-12-09 04:03:51

标签: php mysql url select alias

考试我有2个表

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

...

2) URL alias
aid :
sou_url :
des_url :

第二个表用于存储我网站中所有页面的url-alias 我创建了一个函数来获取这样的别名

function get_alias_url($surl);

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

现在,我想选择所有包含网址别名长度的帖子> 50 我想知道,有没有办法进行查询呢? 它可能看起来像:

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

由于

2 个答案:

答案 0 :(得分:2)

LENGTH()返回以字节为单位的字符串长度。 CHAR_LENGTH()返回以字符为单位测量的字符串长度。

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

您的PHP函数仍然可以在您的查询中运行。

希望这有帮助!

答案 1 :(得分:1)

您可以在查询中使用MySQL CHAR_LENGTH()函数。

有关MySQL中字符串的完整功能列表,请转到here