首页 > 数据库 >ACCESS 说一说Round,VAL与NZ这三个函数在SQL中的应用

ACCESS 说一说Round,VAL与NZ这三个函数在SQL中的应用

时间:2023-08-07 11:56:37浏览次数:36  
标签:Val VAL 函数 ACCESS NZ num str 数字

Round是用来处理浮点计算的,如果不处理,原本一个29.9,它能给你算成29.899500000012345.

如果字段属性是文本格式,你再怎么round都没用,所以在这之前,你得把文本类型的字段,转成数字类型的字段.方法也很简单,比如 [字段]*1.但是这里又会产生一个新的问题,比如字段下面有null值或者其他不能转成数字的值的话,就又会 #错误 .所以一方面要求我们在定义字段的数据类型时,要严谨.另一方面,自己做出来的表,脆着也要走完...那就处理错误呗.

  VAL函数:

  • VAL函数会忽略字符串中的前导空格。
  • 它会解析数字之前的正负号(“+/-”)。
  • 如果字符串以非数字字符开始,Val 函数将返回 0。
  • 如果字符串以数字字符开始,但在解析过程中遇到非数字字符,Val 函数将返回数字解析到的最后一个有效字符之前的部分。
    Dim num As Double
    num = Val("123.45") ' 将字符串转换为数值,num 的值为 123.45
    
    Dim str As String
    str = "abc123"
    num = Val(str) ' 尝试从字符串中解析数字,由于字符串以非数字字符开始,num 的值为 0
    
    str = "12.34xyz"
    num = Val(str) ' 尝试从字符串中解析数字,但解析到非数字字符 "x" 时停止,num 的值为 12.34
    
    str = "  -45.67"
    num = Val(str) ' 将带有前导空格和负号的字符串转换为数值,num 的值为 -45.67

    NZ函数:

  • NZ函数用于处理空值(Null)。它接受两个参数:表达式和替代值。如果表达式的值为 Null,NZ 函数将返回替代值,否则返回表达式的值。
  • NZ函数的返回值类型与第一个参数的数据类型相同。如果第一个参数为 Null,则返回值的数据类型为第二个参数的数据类型。如果第一个参数和第二个参数都为 Null,则返回值的数据类型由上下文决定。

  但是我在日常应该中,经常遇到在使用 nz([字段],0) 时,返回给我一个文本类型的值,我不知道是什么原因.所以我不得不这样去使用它 : Round(Nz([查询1].[单价], 0)*1,2) .其中NZ是把null值转成0,结果返回的却是"0",所以我不得不再 *1 之后 再Round

标签:Val,VAL,函数,ACCESS,NZ,num,str,数字
From: https://www.cnblogs.com/yoooos/p/17611049.html

相关文章

  • 如何将 Microsoft Access 数据转移到 SQL Server 数据库
    在本文中,我们将为您提供一个包含屏幕截图的分步教程,介绍如何使用dborgeStudioforSQLServer 将MicrosoftAccess数据库转换为SQLServer。这个GUI工具几乎可以增强使用数据库的每个方面,包括数据库设计、SQL编码、数据库比较、模式和数据同步、有用测试数据的生成以及许多......
  • 【JavaScript17】eval函数
    eval本身在js里面正常情况下使用的并不多.但是很多网站会利用eval的特性来完成反爬操作.我们来看看eval是个什么鬼?从功能上讲,eval非常简单.它和python里面的eval是一样的.它可以动态的把字符串当成js代码进行运行.vars="1+2+3+4+5+6+7+8";varc=eval(s);//帮你......
  • 异常: java.security.InvalidKeyException: Illegal key size
    问题描述importorg.apache.commons.codec.digest.DigestUtils;importorg.bouncycastle.jce.provider.BouncyCastleProvider;importjavax.crypto.Cipher;importjavax.crypto.spec.SecretKeySpec;importjava.security.Security;importjava.util.Base64;publicclass......
  • ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: Y
    mysql登录提示vim/etc/my.conf增加skip-grant-tables问题分析https://blog.csdn.net/ibsfn/article/details/88963040......
  • python中的exec()、eval()以及complie()
    1.eval函数函数的作用:计算指定表达式的值。也就是说它要执行的python代码只能是单个表达式(注意eval不支持任何形式的赋值操作),而不能是复杂的代码逻辑。eval(source,globals=None,locals=None,/)参数说明:source:必选参数,可以是字符串,也可以是一个任意的code(代码)对象实......
  • [maven]java.lang.NoSuchMethodError: org.apache.maven.model.validation.DefaultMod
    Maven异常环境idea版本:2020.1.3maven版本:3.8.5问题描述在idea中加入maven配置时,idea一直报出java.lang.NoSuchMethodError:org.apache.maven.model.validation.DefaultModelValidator异常异常信息1)Errorinjectingconstructor,java.lang.NoSuchMethodError:org.......
  • odoo 模型权限 ir.model.access
    odoo权限分两种,一种是菜单,一种是模型,这里介绍模型权限开发好一个模型以后,先要在security文件夹中创建一个ir_model_access.css文件,然后设置权限,如下图:这里有两个字段需要注意:1、group_id:id:一般设置为base.group_user,中文描述为内部用户,因为base.group_user是odoo预先设定的群......
  • python--compile、exec、eval函数使用
    compile(source,filename,mode,flags=0,dont_inherit=False,optimize=-1)参数说明:source:字符串或AST对象,表示需要进行编译的python代码filename:指定需要编译的代码文件,如果不是文件读取代码则传递一些可辨认的值.mode:用于标识必须当做那类代表来编译;(如果source是......
  • Codeforces 1855B:Longest Divisors Interval 最长的连续约数区间
    1855B.LongestDivisorsIntervalDescription:对于一个整数\(n\)\((1\leqn\leq10^{18})\),找到一段最长的区间\([l,r]\),使得区间内所有数均为\(n\)的约数。Analysis:如果\(n\)是一个奇数(非\(2\)的倍数),由于\(odd=odd\timesodd\),则不可能有连续的两个整数均为......
  • spring-mvc系列:详解@RequestMapping注解(value、method、params、header等)
    目录一、@RequestMapping注解的功能二、@RequestMapping注解的位置三、@RequestMapping注解的value属性四、@RequestMapping注解的method属性五、@RequestMapping注解的params属性六、@RequestMapping注解的header属性七、SpringMVC支持ant分格的路径八、SpringMVC支持路径中的占......