首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我需要使用数据库中的特定字符创建自定义查询

我需要使用数据库中的特定字符创建自定义查询
EN

Stack Overflow用户
提问于 2010-09-22 22:16:44
回答 3查看 119关注 0票数 2

我有一个相当大的基于分区的航班号数据库。航班号输入如下: CCC-NOC001,其中航班号按以下顺序分解: CCC航空公司代码、NOC部门代码和001实际航班号。

现在,我正在尝试创建一个过滤器,它将根据部门代码从时间表中选择航班号。现在,为了澄清在数据库中输入航班号的方式,有两个字段,第一个字段是代码,始终输入为CCC,而航班号将输入为NOC001等。

因此,如果可能的话,我需要的是从航班号的末尾剥离数字,以便搜索的只有NOC或其他部门代码之一,目前有9个独立的部门。我希望能够过滤查询,这样,如果从下拉列表中选择NOC,那么表中将只显示带有NOC的航班号。

CCC-NOC001 CCC-NOC002....如果您能给我任何帮助,我们将不胜感激。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-09-22 23:20:09

代码语言:javascript
复制
$dbh = new PDO($dsn, $user, $password);
$query = "select * from [TableName] where [ColumnName] like '%NOC%'";
$stmt = $dbh->prepare($query);
$stmt->execute();
if ($stmt->rowCount() > 0) {  
   $resultset = $stmt->fetchAll(PDO::FETCH_ASSOC);
   foreach ($resultset as $row) {
       $flight = $row['ColumnName'];
       $flightNum = str_replace('CCC-NOC', '', $flight);
   }
}
票数 2
EN

Stack Overflow用户

发布于 2010-09-22 22:31:18

只是一个建议:为什么你不对所有部分使用不同的mysql列--最终的结果将是简单的拼接,你不会有任何麻烦。MySQL没有preg_replace...诚挚的问候。

票数 3
EN

Stack Overflow用户

发布于 2010-09-22 23:32:16

可以在SQL查询中使用REGEXP

代码语言:javascript
复制
SELECT * FROM [Table] WHERE [flighNumber] REGEXP '.{3}-[selected NOC]\d{3}'

.{3}用于编码(CCC),用用户选择的NOC替换选定的NOC,\d{3}用于最后三位编码(001,002等)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3770142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档