`

【转】DB2中like使用 locate

    博客分类:
  • db2
阅读更多
DB2中的like的使用是有限制的,它后面不能跟一个变量或者是字段,因此,在存储过程或SQL语句中就不能like一个变量或一个字段。

比如有两个表A(a,b,c,d),B(a,b,c,d)。

普遍的用法是:

select * from A where A.b like '%张%'

此语句在任何数据库都是通用的,

但有时也遇到这种情况:

select A.a,B.b from A,B where A.d like B.d||'%'

此语句在oracle中执行没有问题,但在db2中就不行,报以下错误:

SQL0132N  LIKE 谓词或 POSSTR 标量函数无效,因为第一个操作数不是字符串表达式或第二个操作数不是字符串。LOCATE 或 POSITION 标量函数无效,因为第一个操作数不是字符串,或者第二个操作数不是字符串表达式。

此种情况在db2中是使用locate函数,locate用法:

locate(arg1,arg2,pos),在org2中查找arg1第一次出现的位置,pos指明从哪个位置开始查找(省略则从开始查找),如果arg1不为null且查找不到

的话返回0,如果找到则返回大于0的数字。

对于语句:

select A.a,B.b from A,B where A.d like B.d||'%'

在db2中应该修改为:

select A.a,B.b from A,B where locate(B.d,A.d)>0


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ganlange/archive/2009/11/28/4895290.aspx
分享到:
评论

相关推荐

    DB2常用函数详解,进100个常用函数

    10. LOCATE函数:在ARG2中查找ARG1第一次出现的位置,如果指定POS,则从ARG2的POS处开始查找ARG1第一次出现的位置。 11. POSSTR函数:返回EXP2在EXP1中的位置。 这些字符串函数可以用于各种字符串操作,例如字符串...

    DB2 SQL 实现行转列,列转行

    DB2 SQL 通过函数(CONCAT/POSSTR/LOCATE)实现行转列,列转行 可以按照标点把多列转换为一行,多行转换为一列

    linux中locate命令使用介绍.docx

    Linux 中 locate 命令使用介绍 Linux 中 locate 命令是一种快速搜索文件系统的命令,通过建立一个包括系统内所有文件名称及路径的数据库,之后当搜索时就只需查询这个数据库,而不必实际深入文件系统之中了。在一般...

    db2使用技巧

    在 DB2 中,可以使用 "||" 进行字符串连接,这是一种非常方便的字符串操作方式。 二、快速删除大批量数据 在删除大量数据时,使用 delete 语句可能会非常慢,因为删除数据时需要记录数据库日志。为了提高删除速度...

    Locate32汉化绿色版

    在日常工作中,我们经常会遇到需要快速定位某个文件的情况,传统的Windows搜索功能可能无法满足这种需求,这时,Locate32就发挥了它的优势。 Locate32的核心在于其采用的数据库技术。它会预先扫描用户指定的硬盘、...

    Locate32极品磁盘文件搜索工具(中文)

    用户可以根据文件名中的关键词进行搜索,也可以使用通配符来匹配文件名中的部分字符。除了文件名,用户还可以根据文件大小、修改日期、创建日期以及文件类型等属性来过滤搜索结果。例如,用户可能仅对特定大小范围内...

    DB2常用函数(初学者必备)

    DB2作为IBM开发的一款关系型数据库管理系统,在企业级应用中占据着重要的地位。其功能强大,支持多种数据处理和分析需求。本文将深入探讨DB2中的常用函数,这些函数覆盖了类型转换、日期时间操作、字符串处理以及...

    DB2常用函数与Oracle比较

    - **Decimal/Double/Integer/Smallint/Real**: 这些数据类型在DB2和Oracle中都可以直接使用,无需特别的转换函数。 - **Hex**: DB2提供`HEX`函数来将二进制数据转换为十六进制格式。 - **Date/Time/Timestamp**: ...

    SQL_Server,Oracle,DB2数据库SQL语句比较

    根据提供的文件信息,本文将对SQL Server、Oracle与DB2三种主流关系型数据库管理系统中的SQL语句进行详细的对比分析。这不仅有助于理解不同数据库系统之间的差异,也为开发人员提供了跨平台迁移时所需的必要知识。 ...

    locate_3.11.7100_汉化

    《locate_3.11.7100_汉化》是一款针对Linux系统中的`locate`命令进行增强和汉化的搜索工具,适用于Windows环境。它提供了更高效、更友好的中文界面,使得用户在查找系统文件时能更加方便快捷。 在原始的`locate`...

    DB2 SQL 数据库函数

    本文将详细介绍DB2 SQL数据库中的常用函数及其使用方法。 #### 二、数学函数 1. **ABS(exp)**: 返回表达式`exp`的绝对值。 - 示例:`ABS(-10)` 返回 `10`。 2. **ABSVAL(exp)**: 功能与ABS相同,返回表达式的...

    Locate32(文件查找)绿色汉化版 V3.1 build 8.09210

    而且,由于Locate32是一个绿色软件,无需安装即可使用,不写入注册表,避免了对系统造成潜在的干扰。 至于V3.1 build 8.09210这个版本,可能会包含一些新特性或改进,例如可能提升了索引速度,优化了用户体验,或者...

    locate32_3.1.11.8220a_fix.zip

    Locate32,作为一个小巧而强大的本地搜索工具,凭借其高效快速的搜索性能,在IT行业中赢得了众多用户的青睐。这个软件的最新版本是Locate32 v3.1 RC3l build 8220a,其中包含了中文语言文件,为中文用户提供了更为...

    Locate32,window文件搜索神器

    这就是Locate32出现的背景,一个专为Windows系统设计的快速搜索工具,旨在用闪电般的速度和简洁的操作,解决我们在日常电脑使用中遇到的文件搜索难题。 Locate32以其独特的本地数据库索引系统,区别于其他搜索工具...

    MySQL中的LOCATE和POSITION函数使用方法

    * 在WHERE子句中使用LOCATE函数来搜索特定的子串,例如: ```sql SELECT * FROM tablename WHERE LOCATE(colum1, colum2) > 0; ``` 这将搜索colum1中包含colum2的所有行。 * 在ORDER BY子句中使用LOCATE函数来排序...

    sql行转列,与列转行

    sql 行转列 与列转行,oracle ,msssql等,详细数据库操作方法,各种例子,欢迎大家学习。、~

    HA_Locate32_v3189210.rar

    标题中的"HA_Locate32_v3189210.rar"指的是Locate32的特定版本——v3.1.8.9210汉化版,它不仅保留了原版的优秀特性,还贴心地提供了中文界面,使得中国用户能够更加便捷地使用。 Locate32的核心功能在于快速查找...

    db2字符串类型的常用函数

    本文将详细介绍DB2中常用的字符串类型函数,并通过具体示例加以说明,帮助读者更好地理解和运用这些函数。 ### 1. VALUE 函数 VALUE 函数用于将表达式转换为指定的数据类型。其语法结构为:`VALUE(EXPR1 AS TYPE1)...

    db2常用函数整理.doc

    在DB2中,函数的使用是数据库查询语言SQL的重要组成部分。以下是对DB2常用函数的详细介绍: 1. AVG 函数:这个函数用于计算一组数值的平均值。基本语法是 `AVG(expression)`。它会忽略NULL值,并且如果指定`...

    打开vivado的.xpr工程文件报错Cannot locate target loade

    在使用Xilinx Vivado设计工具进行FPGA/CPLD开发时,经常会遇到各种各样的问题,其中之一就是在尝试打开一个`.xpr`工程文件时出现“Cannot locate target loader”这样的错误提示。这个问题可能会导致无法正常加载...

Global site tag (gtag.js) - Google Analytics