前几天,遇到一个十分棘手的问题,有同事提出在是字符类型的列中进行起止号计算,大体是这样的
新起号=上一条止号+1
新止号=新起号+数量
而在这一列的数据是这样的
库存
CN003?005007
000890670000
98111100 库存
370111900000
001,800,900,00
~~~~~~~~~~~~
木办法,问度娘吧,发现还是高人多啊,提出用ISNUMERIC(列名)=1,就是数字类型的,但是请看一下ISNUMERIC的说明文档
ISNUMERIC
语法
ISNUMERIC ( expression )
参数
expression
要计算的表达式。
返回类型
int
备注
当输入表达式的计算结果为有效的 numeric 数据类型时,ISNUMERIC 返回 1;否则返回 0。有效的 numeric 数据类型包括以下类型:int,numeric,bigint,money,smallint,smallmoney,
tinyint,float,decimal,real
注意:
对于不是数字的字符(如加号 (+)、减号 (-))和有效货币符号(如美元符号 ($))字符,ISNUMERIC 将返回 1。返回值为 1 确保可以将expression转换为上述数字类型中的一种。但是此函数存在Bug,当判断的表达式是字符类型的表达式时,就乱了!'001,800,900'同样会认为是数字类型
可以替代的写法是
PATINDEX('%[^0-9]%', 列名)
如果返回值等于0,则是纯数字型(没有0~9之外的字符)。
case when PATINDEX('%[^0-9]%', 列名)=0 then cast (列名 as decimal(18,0))+cast(1 as decimal(18,0))
else ~~~ end as 起号
相关推荐
在SQL Server中,函数是进行数据处理和分析的关键元素。本文将全面解析SQL Server中的各种函数及其用法,帮助你提升数据库操作技能。 一、聚合函数 SQL Server中的聚合函数用于对一组值进行计算,返回单个值。常见...
postgresql中判断是否为数字和是否为时间日期格式的相关函数,类似于sqlserver中的isDate和isnumeric函数
作者使用 ISNUMERIC() 函数来判断字符是否为数字类型,但是发现该函数存在一些问题,例如认为 “.” 是数字类型。作者尝试使用 CONVERT() 函数来转换字符类型,但是发现了许多 vấn đề。 为了解决这些问题,作者...
ISNUMERIC是一个重要的系统函数,它用于检查一个表达式是否为数字类型。在数据类型转换和数据验证场景中,合理使用ISNUMERIC可以避免错误和性能下降。 20. 自定义及系统错误处理 在存储过程和触发器中合理地处理...
在SQL Server中,当我们需要对数据库中的某个字段进行数据验证,特别是判断其是否包含数字时,可以使用内置的`ISNUMERIC`函数。这个函数的主要作用是检查提供的表达式是否可以解析为有效的数字类型,包括整数、...
为此,设计了一款专门用于校验15位与18位公民身份证号码合法性的SQL函数。 #### 二、身份证号码结构分析 根据中国公民身份证号码的标准,我们可以将身份证号码分为以下几部分: - **15位身份证号码**:由[6位地区码...
9. ISNUMERIC函数检查一个表达式是否可以被解释为数值类型,如选项C所示。 10. 查询语句中最基本的关键字是SELECT和FROM,如选项B所示。 11. ASC关键字用于排序结果集,使数据按升序排列。 12. DISTINCT关键字...
除了直接使用IsNumeric() 函数之外,我们还可以编写自定义函数来检测数字类型。例如,在给定的代码片段中,存在一个名为JCID的函数,它的作用是检查一个值是否为数字类型,并返回相应的数字值或0: ```asp Function...
接着,作者使用了`IsNumeric`函数来判断输入是否为数字,如果输入的是数字,则执行SQL查询,否则给出错误提示。这种方法可以防止某些利用非数字字符构造的SQL注入攻击,但仍然不足以防御所有类型的SQL注入。 最后,...
在SQL Server中,公用表表达式(Common Table Expression,简称CTE)是一种非常有用的查询构造,它可以临时定义一个结果集,然后在后续的查询中重复使用。CTE的一个强大特性是支持递归,这意味着它可以在自身的基础...
### SQL Server内置函数实用指南 #### 1. SQL Server中的函数简介 SQL Server提供了一系列的内置函数,可以用来处理数据并返回特定的值。这些函数可以分为几个主要类别:字符串函数、数值函数、日期/时间函数以及...
Delphi提供了一系列的`TryStrToXXX`函数,如`TryStrToInt`, `TryStrToFloat`等,它们尝试将字符串转换为相应的数值类型。如果转换成功,这些函数会返回`True`并赋值给目标变量;如果失败,返回`False`。例如: ```...
SQL Server提供了多种日期和时间数据类型,如`DATE`、`TIME`、`DATETIME2`等,以及各种函数和运算符来处理日期和时间数据。 2. `SQL Server`和`sql数据库`标签表明这是一个关于SQL Server数据库管理系统的问题。SQL...
ISNUMERIC()用于检测给定的表达式是否为数值型。 - D:ISINT()不是标准SQL函数。 10. **查询语句中至少包含的关键字是:** - **选项分析:** - A:正确。SELECT和FROM是最基本的两个关键字,用于指定查询的列和...
IsNumeric——检查串是否为数字串 Upcase——变成大写串 right——从右到左截掉字符 Lowercase——变成小写串 Trim——截掉串尾的空格 RTrim——截掉串开始处的空格 LTrim——截掉串尾的空格 ...
- `ISNUMERIC(remarks)`:这是一个 SQL Server 的内置函数,用于判断一个字符串是否全部由数字组成。 #### 3. 理解 `ISNUMERIC()` 函数 `ISNUMERIC()` 函数用于检测输入的表达式是否为有效的数值型字符串。如果...
Python中的数字判断函数是编程中常用的操作,它们帮助开发者确定变量的类型或数值特性。以下是对这些函数和方法的详细解释: 1. **type()** 函数:此函数用于获取对象的类型。在数字判断中,它能识别变量是整型...