par
baraka » 24 mai 2009, 22:42
Bonjour à tous,
Ma question est simple mais la réponse je pense sera complexe. Je me lance :
Est-il possible de coupler dans une même requête sql "BETWEEN" et "REGEXP" ?
J'explique mon cas : je désire afficher tous les membres qui ont le même signe zodiacale.
Par exemple pour les membres qui sont du signe du "Bélier", ma requête devrait être :
CREATE TABLE `users` (
`user_id` bigint(20) NOT NULL auto_increment,
`user_pseudo` varchar(32) collate utf8_bin NOT NULL,
`user_password` varchar(32) collate utf8_bin NOT NULL,
`user_email` varchar(255) collate utf8_bin NOT NULL,
`user_name` varchar(255) collate utf8_bin NOT NULL,
`user_surname` varchar(255) collate utf8_bin NOT NULL,
`user_birth` date NOT NULL default '0000-00-00',
PRIMARY KEY (`user_id`),
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;
Code : Tout sélectionner
SELECT * FROM `users` WHERE `user_birth` BETWEEN (REGEXP '.*-03-21') AND (REGEXP '.*-04-20') "
Mais la requête ne marche pas. Si quelqu'un à une idée merci d'avance de m'en faire part.
Bonjour à tous,
Ma question est simple mais la réponse je pense sera complexe. Je me lance :
Est-il possible de coupler dans une même requête sql "BETWEEN" et "REGEXP" ?
J'explique mon cas : je désire afficher tous les membres qui ont le même signe zodiacale.
Par exemple pour les membres qui sont du signe du "Bélier", ma requête devrait être :
[php]CREATE TABLE `users` (
`user_id` bigint(20) NOT NULL auto_increment,
`user_pseudo` varchar(32) collate utf8_bin NOT NULL,
`user_password` varchar(32) collate utf8_bin NOT NULL,
`user_email` varchar(255) collate utf8_bin NOT NULL,
`user_name` varchar(255) collate utf8_bin NOT NULL,
`user_surname` varchar(255) collate utf8_bin NOT NULL,
`user_birth` date NOT NULL default '0000-00-00',
PRIMARY KEY (`user_id`),
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;
[/php]
[code]
SELECT * FROM `users` WHERE `user_birth` BETWEEN (REGEXP '.*-03-21') AND (REGEXP '.*-04-20') "
[/code]
Mais la requête ne marche pas. Si quelqu'un à une idée merci d'avance de m'en faire part.