CUBRID学习笔记 27 数据类型4

本文介绍了SQL中不同数据类型的比较规则,包括数字与字符串、字符串与日期时间、日期时间类型之间的运算及比较,以及字符串与其他类型进行算术运算的转换规则。

范围比较

数字和字符串比较

字符串被转为double

SELECT i FROM t WHERE i <= all {'11','12'};

 

            i

=============

            1

            2

            3

            4

字符串和日期时间比较

字符串转为日期或时间

SELECT s FROM t2;

 

          s

======================

      '01/01/2000'

      '01/01/1999'

      '01/01/1998'

 

SELECT s FROM t2 WHERE s <= ALL {date'02/02/1998',date'01/01/2000'};

 

          s

======================

       '01/01/1998'

报错了

计算比较
Date/Time Type Operand

如果日期是间操作是-操作. 返回的是毫秒

SELECT date'2002-01-01' - datetime'2001-02-02 12:00:00 am';

 

   date '2002-01-01'- datetime '2001-02-02 12:00:00 am'

=====================================================

                                          28771200000

同类型比较看优先级
Date/Time Type & String Type Operands
如果有+-操作的话 结果如下

           DATE: 返回天

TIME, TIMESTAMP:返回 秒

DATETIME:返回 毫秒

SELECT date'2002-01-01' + '10';

 

  date '2002-01-01'+'10'

======================

  01/11/2002

 

SELECT date'2002-01-01'-'2001-01-01';

 

  date '2002-01-01'-'2001-01-01'

================================

                    31536000000

 

-- 下面的操作是不可以的

 

SELECT date'2002-01-01'-'10';

 

 In line 1, column 13,

 ERROR: 10不是日期类型.    

 

Numeric Type & String Type Operands

 

SELECT 4 + '5.2';

 

                4+'5.2'

==========================

  9.199999999999999e+00

 

SELECT '2002-01-01'+1;

   ERROR: 不能把'2002-01-01'转为double类型

SELECT DATE'2002-01-01'+1;

  date '2002-01-01'+1

=====================

  01/02/2002

String Type Operand

字符串的乘除操作返回double类型

SELECT '3'*'2';

 

                     '3'*'2'

============================

       6.000000000000000e+00

   字符串的加操作为连接操作.  ( 具体跟对加号的意义的配置有关 plus_as_concat 在 cubrid.conf中 )

  • SELECT '1'+'1';
  •  
  •                '1'+'1'
  • ======================
  •                   '11'
  • 如果plus_as_concat  没设置则
  •  
  •                    '1'+'1'
  • ==========================
  •      2.000000000000000e+00

An error will be returned if it cannot be converted to the corresponding type.

转载于:https://www.cnblogs.com/wang2650/p/5286828.html

基于可靠性评估序贯蒙特卡洛模拟法的配电网可靠性评估研究(Matlab代码实现)内容概要:本文围绕“基于可靠性评估序贯蒙特卡洛模拟法的配电网可靠性评估研究”,介绍了利用Matlab代码实现配电网可靠性的仿真分析方法。重点采用序贯蒙特卡洛模拟法对配电网进行长时间段的状态抽样与统计,通过模拟系统元件的故障与修复过程,评估配电网的关键可靠性指标,如系统停电频率、停电持续时间、负荷点可靠性等。该方法能够有效处理复杂网络结构与设备时序特性,提升评估精度,适用于含分布式电源、电动汽车等新型负荷接入的现代配电网。文中提供了完整的Matlab实现代码与案例分析,便于复现和扩展应用。; 适合人群:具备电力系统基础知识和Matlab编程能力的高校研究生、科研人员及电力行业技术人员,尤其适合从事配电网规划、运行与可靠性分析相关工作的人员; 使用场景及目标:①掌握序贯蒙特卡洛模拟法在电力系统可靠性评估中的基本原理与实现流程;②学习如何通过Matlab构建配电网仿真模型并进行状态转移模拟;③应用于含新能源接入的复杂配电网可靠性定量评估与优化设计; 阅读建议:建议结合文中提供的Matlab代码逐段调试运行,理解状态抽样、故障判断、修复逻辑及指标统计的具体实现方式,同时可扩展至不同网络结构或加入更多不确定性因素进行深化研究。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值