DB2 like查询同一天时间问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DB2 like查询同一天时间问题相关的知识,希望对你有一定的参考价值。

数据库中有一个时间字段,内容为2010-06-06 13:08:30,我现在要在数据库中查找时间日期为2010-06-06的所有数据,
select * from T_ordermain where ordercjtime like '2010-06-06%'
这个是肯定查不出的,

select * from T_ordermain where CONVERT(varchar(12) ,ordercjtime , 111 )='2012-06-06'
貌似也不行

ordercjtime 类型是TIMESTAMP,麻烦各位帮忙看看.

参考技术A 时间类型无法用like
可以这样
select * from table1
where CONVERT(varchar(12) ,buildtime, 111 )='2012/04/18'本回答被提问者采纳

如何使“LIKE”查询在 MongoDB 中工作?

【中文标题】如何使“LIKE”查询在 MongoDB 中工作?【英文标题】:How to make "LIKE" query work in MongoDB? 【发布时间】:2011-04-27 00:44:33 【问题描述】:

我有一个街道名称列表,我想选择所有以“Al”开头的名称。 在我的 MySQL 中,我会做类似的事情

SELECT * FROM streets WHERE "street_name" LIKE "Al%"

MongoDB 使用 PHP 怎么样?

【问题讨论】:

【参考方案1】:

使用正则表达式:

db.streets.find(  street_name : /^Al/i  );

或:

db.streets.find(  street_name :  $regex : '^Al', $options: 'i'   );

http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-RegularExpressions

把它变成 PHP:

$regex = new MongoRegex("/^Al/i");
$collection->find(array('street_name' => $regex));

【讨论】:

是的,但是在 php 中呢? $database->streets->find(array("street" => "/^Al/i")); 作为一个附带问题,这在原始速度方面如何比较?使用正则表达式过滤数据集的想法让我有点畏缩......不过是 mongodb 的新手。 只要正则表达式以 ^ 开头(即匹配字符串的开头),就会使用索引。【参考方案2】:

见:http://www.mongodb.org/display/DOCS/SQL+to+Mongo+Mapping+Chart

另外,强烈建议只使用 PHP 中的本机 mongodb 连接器,而不是包装器。它比任何包装器都快。

http://php.net/class.mongodb

【讨论】:

【参考方案3】:

这是我的工作示例:

<?php
use MongoDB\BSON\Regex;
$collection = $yourMongoClient->yourDatabase->yourCollection;
$regex = new Regex($text, 's');
$where = ['your_field_for_search' => $regex];
$cursor = $collection->find($where);
//Lets iterate through collection

【讨论】:

【参考方案4】:

$collection.find("name": /.*Al.*/)

或者,类似的,

$collection.find("name": /Al/)

您正在寻找某处包含“Al”的内容(SQL 的 '%' 运算符等效于正则表达式''.*'),而不是在字符串开头锚定“Al”的内容。

【讨论】:

【参考方案5】:

MongoRegex 已被弃用。 使用MongoDB\BSON\Regex

$regex = new MongoDB\BSON\Regex ( '^A1');
$cursor = $collection->find(array('street_name' => $regex));
//iterate through the cursor

【讨论】:

【参考方案6】:
<?php
$mongoObj = new MongoClient();
$where = array("name" => new MongoRegex("^/AI/i"));
$mongoObj->dbName->collectionName->find($where);
?>

View for more details

【讨论】:

【参考方案7】:

你也可以这样做

['key' => ['$regex' => '(?i)value']]

【讨论】:

以上是关于DB2 like查询同一天时间问题的主要内容,如果未能解决你的问题,请参考以下文章

如何使用nodejs在IBM Db2的LIKE查询中传递参数?

Hbase能模糊查询吗,类似like

MySQL 学习三 关于转义

用于检索给定模式的所有表名的 DB2 查询

修改了服务器的时间后,db2数据库用不了了,怎么办,是把电脑时间提前了8天时间

DB2 查询在 zend 的同一查询中从 2 个数据库中选择