`
yangsirjiayou
  • 浏览: 35257 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

查找出指定字段不全是数字的记录

阅读更多
  一个varchar2类型的字段里大多数值都是0~9的数字组成,也存在不是数字的字段或者不全是数字的字段,如何定位出这些不全是数字组成的记录?
  例如现在有表table1:(注:第七行记录VALUE值是两个空格)
          ID       VALUE
1 123
2 17SF
3 7788
4 DOTA
5 SK123
6 333333
         7         
  现在定位VALUE中不全是数字组成的记录:
 
select * from table1 where length(rtrim(translate(VALUE,' 0123456789','#         '))) > 0

  结果:
  ID     VALUE
  2 17SF
  4 DOTA
  5 SK123
  7       
  首先讲一下translate函数吧:
  TRANSLATE ( 'char' , 'from_string' , 'to_string' )
  TRANSLATE返回将from_string中的每个字符替换为to_string中的相应字符以后的string。TRANSLATE是REPLACE所提供的功能的一个超集。如果from_string比to_string长,那么在from_string中而不在to_string中的额外字符将从char中被删除,因为它们没有相应的替换字符。to_string不能为空。Oracle将空字符串解释为NULL,并且如果TRANSLATE中的任何参数为NULL,那么结果也是NULL。
  举个例子:
  select translate('123abc','2dc','4e') from dual;
  因为from_string和to_string的位置是一一对应的,2对应4,d对应e,c没有对应的值,所以c应该会被删除。所以例子的字符里的2会替换为4,d因为字符串里没有,所以不作替换,c由于没有对应的替换字符,所以字符串里的c会被删除。那么可以得出,结果是:143ab
  所以我将0~9的数字全部用空格来替换,然后同过rtrim函数将空格过滤,再计算长度,如果都是数字的话,计算的长度就是0。但是如果一条记录里的值存在空格的情况就要将空格用其他字符进行替换以免被rtrim函数一起过滤掉。
分享到:
评论

相关推荐

    MySQL查询指定字段不是数字与逗号的sql

    在这个问题中,我们需要找出那些在指定字段中不包含数字或逗号的记录。以下是关于这个主题的详细解释和示例。 首先,我们要理解`REGEXP`运算符的基本用法。`REGEXP`用于测试字符串是否符合特定的模式,如果符合,...

    SharePoint 2010 filed Type(SharePoint 字段类型名称表)

    - **RatingCount**: 评分计数字段,用于记录评分次数。 #### TargetToFieldTypes - **TargetTo**: 目标到字段,可能用于指定目标位置或接收者。 #### TaxonomyFieldTypes 这些字段类型与分类学管理相关。 - **...

    tp5 sum某个字段相加得到总数的例子

    首先,我们要明白 `sum` 方法是tp5中模型或查询构造器提供的功能之一,用于计算指定字段的所有值的总和。例如,如果你有一个 `think_user` 表,其中有一个 `score` 字段代表用户的积分,你可以使用 `sum('score')` ...

    mongodb 查询语法和实例

    例如,找出`salary`字段是数字的文档: ```javascript db.collection.find({ salary: { $type: 1 } }); ``` 6. **逻辑运算符** - `$or`: 用于组合多个查询条件,满足其中任何一个即可。例如,选取`age`大于20或...

    一些常用的sql语句

    - `SELECT * FROM 数据表 WHERE 字段名 = 字段值 ORDER BY 字段名`:选择满足特定条件的记录,并按指定字段排序。 - `SELECT * FROM 数据表 WHERE 字段名 LIKE '%字段值%' ORDER BY 字段名`:模糊匹配,用于查找...

    二级access习题第二章.pdf

    8. **自动编号数据类型**:一旦为字段指定了自动编号类型,它将永久地与记录关联,而不是字段、表或域。正确答案是B(记录)。 9. **表间关系**:在Access中,常见的关系包括一对一、一对多和多对多。大多数情况下...

    DbLookup()和DbColumn()的用法及区别

    **DbLookup()** 主要用于从指定的视图或文件夹中查找并返回一个或多个文档的指定字段值。这通常用于需要快速检索特定数据的情况。 ##### 语法: ```plaintext @DbLookup(view; keyField; keyValue; valueField; ...

    ACCESSSQL查询条件示例.pdf

    - **完全匹配**:条件如`"China"`,用于查找指定文本字段中与之完全匹配的记录。 - **不匹配**:条件如`Not "Mexico"`,排除与特定值匹配的记录。 - **以特定字符串开头**:使用通配符`Like`,如`"U*"`,找到以...

    SQL查找某一条记录的方法

    ROW_NUMBER()函数可以用来给记录分配一个唯一的数字序号,然后可以使用这个序号来查找某一条记录。例如,要查找第5条记录,可以使用以下SQL语句: ```sql WITH numbered_table AS ( SELECT *, ROW_NUMBER() OVER ...

    access练习题.pdf

    5. Access2003中无法指定字段类型为图像。 6. OLE对象不是Access2003的数据表字段类型。 7. 无法为备注类型的字段建立索引。 8. 无法为OLE对象类型的字段建立索引。 9. 限制字段值为0~9的输入掩码字符是9。 10. 控制...

    excel 常用函数

    - DSUM:对数据库中满足条件的记录的指定字段求和,用于汇总数据。 - DVAR/DVARP:估算或计算基于样本或总体的方差,用于理解数据的波动性。 - GETPIVOTDATA:可以直接从数据透视表中获取特定数据,无需知道数据...

    ACCESS数据库测验考试测验考试附答案.docx

    11. **空值处理**:在查询中,IS NULL 用于查找字段值为空的记录。 12. **字段对象类型**:OLE对象字段可以存储图片和其他类型的二进制数据,如Word文档或Excel表格。 13. **有效性规则**:用于确保数据的准确性和...

    用sql获取某字符串中的数字部分的语句

    这种方法在SQL查询中非常实用,比如当你要筛选出某个字段中数字部分固定而其他部分变化的记录时。例如,如果你有一个名为`data_field`的列,其中的数据格式为`'fixed_prefix_numbered_suffix'`,你可以使用`WHERE F_...

    flash as3 数字抽奖

    【标题】"Flash AS3 数字抽奖"是一个基于ActionScript 3.0的抽奖程序,主要应用于各种活动或展示中,以吸引观众参与并增加互动性。ActionScript是Adobe Flash Professional中的编程语言,用于创建动态内容,如动画、...

    ACCESS期末考试试卷A卷与参考答案.pdf

    6. 条件语句“Where 工资额 >1000”表示筛选出工资额大于1000的记录。 7. AND运算符用于同时满足多个条件。 8. NOT运算符用于排除满足特定条件的记录。 9. 同样,NOT用于否定一个条件。 10. 生成表查询是创建新表的...

    Saleforce标准对象参考手册

    这些字段通常由系统定义,也可以在自定义对象中指定。 #### 七、系统字段 系统字段是由Salesforce平台自动生成并维护的字段,用于记录关键的元数据信息,如创建者、修改时间等。常见的系统字段包括: - **Id**:...

    SQL SERVER使用REPLACE将某一列字段中的某个值替换为其他的值

    在SQL Server中,`REPLACE`函数是一种非常实用的文本操作工具,用于在字符串中查找并替换特定的子串。这个函数在数据清洗、数据转换和处理文本数据时经常被用到。本篇文章将深入探讨如何使用`REPLACE`函数以及解决在...

    access计算机二级.pdf

    17. “Sum”函数用于计算指定字段的所有数值之和。 18. 链接表或导入表是将数据从其他系统(如Foxpro)引入Access数据库的方法。 19. 数据库涉及某一特定主题或领域。 20. 数据库的主要功能是集中管理和统一使用数据...

Global site tag (gtag.js) - Google Analytics