ksql函数 转载的秦亚伟的

本文详细介绍了KSQL中常用的字符串函数、时间函数和数值函数。包括每个函数的语法、参数、返回类型以及示例,帮助读者更好地理解和使用这些函数。

 KD研发提供的ksql函数说明文档不是很正确,这里将文档中所有的函数做一整理,示例也已经过了验证,如果有遗漏的或不正确的欢迎提出和指出,我将完善和改正,谢谢。

字符串函数:

1、CHAR
将 int ASCII 代码转换为字符的字符串函数。
语法
CHAR ( integer_expression )
参数
integer_expression
 介于 0 和 255 之间的整数。如果整数表达式不在此范围内,将返回 NULL 值。
返回类型
CHAR(1)
示例
SELECT CHAR(65) from table
答案:A

2、LCASE
将大写字符数据转换为小写字符数据后返回字符表达式。
语法
LCASE ( character_expression )
参数
character_expression
 是字符或二进制数据表达式。
character_expression 可以是常量和列。它必须是可以隐式转换成CHAR和VARCHR的数据类型。否则使用CONVERT显式转换character_expression。
返回类型
VARCHR
示例
SELECT LCASE ('HI WORLD') FROM

答案:hi world

3、LEFT
返回从字符串左边开始指定个数的字符。
语法
LEFT ( character_expression , integer_expression )
参数
character_expression
 是字符或二进制数据表达式。
character_expression 可以是常量和列。它必须是可以隐式转换成CHAR和VARCHR的数据类型。否则使用CONVERT显式转换character_expression。

integer_expression
是正整数。如果 integer_expression 为负,则返回空字符串。
返回类型
VARCHAR
示例
SELECT LEFT('hi world!',2) FROM table

答案:hi

4、LENGTH
返回给定字符串表达式的字符(而不是字节)个数,其中不包含尾随空格
语法
LENGTH ( string_expression )
参数
string_expression
 要计算的字符串表达式。
返回类型
INT
示例
SELECT LENGTH('How are you') FROM table

答案:11

5、LTRIM
删除起始空格后返回字符表达式。
语法
LTRIM ( character_expression )
参数
character_expression
 是字符或二进制数据表达式。
character_expression 可以是常量和列。它必须是可以隐式转换成CHAR和VARCHR的数据类型。否则使用CONVERT显式转换character_expression。
返回类型
VARCHAR
示例
SELECT LTRIME(' hi world!') FROM table
答案:hi world!

6、RIGHT
返回字符串中从右边开始指定个数的 integer_expression 字符。
语法
RIGHT ( character_expression , integer_expression )
参数
character_expression
 是字符或二进制数据表达式。
character_expression 可以是常量和列。它必须是可以隐式转换成CHAR和VARCHR的数据类型。否则使用CONVERT显式转换character_expression。

integer_expression
是正整数,开始返回字符串的起始位置。如果 integer_expression 为负,则根据目标数据库的环境返回相应的错误信息。
返回类型
VARCHAR
示例
SELECT RIGHT('hi world!',2) FROM table

答案:d!

7、RTRIM
截断所有尾随空格后返回一个字符串。
语法
RTRIM ( character_expression )
参数
character_expression
 由字符数据组成的表达式。character_expression 可以是常量、也可以是字符或二进制数据的列。
返回类型
VARCHAR
示例
SELECT RTRIM('hi world!  ') + 'abc' FROM table

答案:hi world!abc

8、UCASE
返回将小写字符数据转换为大写的字符表达式。
语法
UPPER ( character_expression )
参数
character_expression
 由字符数据组成的表达式。character_expression 可以是常量、也可以是字符或二进制数据的列。
返回类型
VARCHAR
示例
SELECT UCASE('hi world!') from table

答案:HI WORLD!

9、SUBSTRING
返回字符CHAR,VARCHAR,NCHAR,NVARCHAR,CLOB,BLOB或具有其类型的结果表达式的一部分。
语法
SUBSTRING ( expression , start , length )
参数
expression
 是字符串、字符串大对象, 列或包含列的表达式。不使用包含聚合函数的表达式。
Start
 是一个整数,指定子串的开始位置。
Length
 是一个整数,指定子串的长度(要返回的字符数或字节数)。
返回类型
返回字符数据。
示例
SELECT SUBSTRING('hi world!', 1 ,2) FROM table
答案:hi

10、CONCAT
返回连接两个字符型表达式的结果。
语法
CONCAT( expression1 , expression2 )
参数
expression1
 是字符串、字符串大对象, 列或包含列的表达式。不要使用包含聚合函数的表达式。
expression2
 是字符串、字符串大对象, 列或包含列的表达式。不要用包含聚合函数的表达式。
返回类型
字符数据
示例
SELECT CONCAT('hi ','world') FROM table

答案:hi world

11、REPLACE
返回在指定的字符串中用某一字符串替换特定字符串的结果。
语法
REPLACE( expression1 , expression2, expression3 )
参数
expression1
 指定的字符串。
expression2
 需要查找替换的字符串。
Expression3
 替换为的字符串。
返回类型
字符数据
示例
SELECT REPLACE('hi world!','hi','hello') FROM table
答案:hello world!

12、CHARINDEX
返回指定的字符串中某一子字符串替换特定字符串的结果。
语法
CHARINDEX( expression1 , expression2 )
参数
expression1
 指定的字符串。
expression2
 需要查找替换的字符串。
Expression3
 替换为的字符串。
返回类型
字符数据
示例
SELECT charindex('w','hi world!',0) from table
答案:4

时间函数:

1、CURDATE
返回现在日期,时分秒为00:00:00。
语法
CURDATE( )
参数
返回类型
DATETIME
示例
SELECT CURDATE( ) FROM table
答案:2009-08-17 00:00:00.0

2、CURTIME
返回现在时间,没有日期部分。
语法
CURTIME( )
参数
返回类型
DATETIME
示例
SELECT CURTIME() from table

答案:13:03:09

3、DAYOFMONTH
返回日期和时间戳月中的第几号。
语法
DAYOFMONTH ( expression )
参数
expression
 日期常量,时间戳常量,具有DATETIME类型的列它们的任意组合运算的结果。
返回类型
INT
示例
SELECT curdate(),DAYOFMONTH(curdate()) from table

答案:2009-08-17 00:00:00.0; 17

4、DAYOFWEEK
返回日期和时间戳的一周星期几,注意周日为第一天。
语法
DAYOFWEEK( expression )
参数
expression
  日期常量,时间戳常量,具有DATETIME类型的列及它们的任意组合运算的结果。
返回类型
INT
示例
SELECT curdate(),DAYOFWEEK(curdate()) FROM table

答案:2009-08-17 00:00:00.0;2 (周二)

5、DAYOFYEAR
返回日期和时间戳在一年中的天数位置。

语法
DAYOFYEAR( expression )
参数
expression
  日期常量,时间戳常量,具有DATETIME类型的列及它们的任意组合运算的结果。
返回类型
INT
示例
SELECT curdate(),DAYOFYEAR(curdate()) FROM table

答案:2009-08-17 00:00:00.0;229

6、NOW
返回现在时间(时间戳)。
语法
NOW( )
参数
返回类型
DATETIME
示例
SELECT NOW() FROM table

答案:2009-08-17 13:10:54.483

7、HOUR
返回时间或时间戳中的小时部分。
语法
HOUR( expression )
参数
expression
 时间常量,时间戳常量,具有DATETIME类型的列及它们的任意组合运算的结果。
返回类型
INT
示例
SELECT HOUR( NOW()) FROM table

8、HOUR
返回时间或时间戳中的小时部分。
语法
HOUR( expression )
参数
expression
 时间常量,时间戳常量,具有DATETIME类型的列及它们的任意组合运算的结果。
返回类型
INT
示例
SELECT now(),hour(now()) from table

答案:2009-08-17 13:13:13.78;13

9、MINUTE
返回时间或时间戳中的分钟部分。
语法
MINUTE( expression )
参数
expression
 时间常量,时间戳常量,具有DATETIME类型的列及它们的任意组合运算的结果。
返回类型
INT
示例
SELECT now(),MINUTE(NOW()) FROM table

答案:2009-08-17 13:15:34.543; 15

10、QUARTER
返回日期和时间戳的季度号。
语法
QUARTER( expression )
参数
expression
 日期常量,时间戳常量,具有DATETIME类型的列及它们的任意组合运算的结果。
返回类型
INT
示例
SELECT NOW(),QUARTER(NOW()) FROM table
答案:2009-08-17 13:16:27.013; 3

11、SECOND
返回时间和时间戳的秒部分。
语法
SECOND( expression )
参数
expression
 时间常量,时间戳常量,具有DATETIME类型的列及它们的任意组合运算的结果。
返回类型
INT
示例
SELECT NOW(),SECOND(NOW()) FROM table

答案:2009-08-17 13:18:06.217;6

12、WEEK
返回日期和时间戳在一年的第几周。
语法
WEEK( expression )
参数
expression
日期常量,时间戳常量,具有DATETIME类型的列及它们的任意组合运算的结果。
返回类型
INT
示例
SELECT NOW(),WEEK(NOW()) FROM table
答案:2009-08-17 13:19:45.577;34

13、YEAR
返回日期和时间戳的年部分。
语法
YEAR( expression )
参数
expression
 日期常量,时间戳常量,具有DATETIME类型的列及它们的任意组合运算的结果。
返回类型
INT
示例
SELECT NOW(),YEAR(NOW()) FROM table
答案:2009-08-17 13:21:07.827 ;2009

14、DAYNAME
返回时间和时间戳在一周中名字。
语法
DAYNAME( espression )
参数
espression
 时间常量,时间戳常量,具有DATETIME类型的列及它们的任意组合运算的结果。
返回类型
VARCHAR
示例
SELECT now(),DAYNAME(NOW()) FROM table
答案:2009-08-17 13:22:04.873 ;星期一

15、MONTHNAME
返回日期和时间戳的月份名字。
语法
MONTHNAME( expression )
参数
expressi常量on
 日期,时间戳常量,具有DATETIME类型的列及它们的任意组合运算的结果。
返回类型
VARCHAR
示例
SELECT NOW(),MONTHNAME(NOW()) FROM table
答案:2009-08-17 13:23:32.17;08

16、CONVERT
返回字符串到DATETIME的转换值
语法
CONVERT( DATETIME , expression )
参数
expression
 时间常量,日期常量,时间戳常量,具有DATETIME类型的列及它们任意组合运算的结果
返回类型
DATETIME
示例
SELECT CONVERT(datetime, '2002-07-17 16:09:53') FROM table

答案:2002-07-17 16:09:53.0(Datetime型)

17、DATEADD
返回指定的DATETIME之后若干时间后的另一个DATETIME类型的数值
语法
DATEADD(datepart,number,date)
参数
datepart
是规定应向日期的哪一部分返回新值的参数。下表列出了 Microsoft? SQL Server? 识别的日期部分和缩写。

日期部分 缩写
Year yy, yyyy
quarter qq, q
Month mm, m
dayofyear dy, y
Day dd, d
Week wk, ww
Hour hh
minute mi, n
second ss, s
millisecond ms

number
是用来增加 datepart 的值。如果指定一个不是整数的值,则将废弃此值的小数部分。例如,如果为 datepart 指定 day,为 number 指定 1.75,则 date 将增加 1。

date
是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式。有关指定日期的更多信息,请参见 datetime 和 smalldatetime。

返回类型
DATETIME
示例
SELECT DATEADD(day,2,'2009-08-17') FROM table

答案:2009-08-19(日期型)

18、DATEDIFF
返回跨两个指定日期的日期和时间边界数。
语法
DATEDIFF ( datepart , startdate , enddate )
datepart   
是规定了应在日期的哪一部分计算差额的参数。
   
日期部分 缩写
   year yy, yyyy
   quarter qq, q
   Month mm, m
   dayofyear dy, y
   Day dd, d
   Week wk, ww
   Hour hh
   minute mi, n
   second ss, s
   millisecond ms   
startdate   
   是计算的开始日期。startdate 是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式。   
   因为 smalldatetime 只精确到分钟,所以当用 smalldatetime 值时,秒和毫秒总是 0。   
   如果您只指定年份的最后两位数字,则小于或等于"两位数年份截止期"配置选项的值的最后两位数字的数字所在世纪与截止年所在世纪相同。大于该选项的值的最后两位数字的数字所在世纪为截止年所在世纪的前一个世纪。例如,如果 two digit year cutoff 为 2049(默认),则 49 被解释为 2049,2050 被解释为 1950。为避免模糊,请使用四位数的年份。   
  
enddate   
   是计算的终止日期。enddate 是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式
  
返回类型
INT

用法
   此函数计算两个指定日期之间日期部分的数目。结果为日期部分中等于(date2 - date1)的有符号的整数值。
   当结果不是日期部分的偶数倍时,DATEDIFF 将被截断而不是被舍入。
   当使用 day 作为日期部分时,DATEDIFF 返回两个指定的时间之间(包括第二个日期但不包括第一个日期)的午夜数。
   当使用 month 作为日期部分时,DATEDIFF 返回两个日期之间(包括第二个日期但不包括第一个日期)出现的月的第一天的数目。
   当使用 week 作为日期部分时,DATEDIFF 返回两个日期(包括第二个日期但不包括第一个日期)之间星期日的数目。
   对于更小的时间单位存在溢出值:
   milliseconds    24 天
   seconds    68 年
   minutes    4083 年 others    没有溢出限制
   如果超出这些限制,此函数将返回溢出错误。

示例
select datediff( hour, '4:00am', '5:30am' ) from  table
答案:1
select datediff(month, '2009-01-01','2009-03-02') from table
答案:2

19、TO_DATE

返回字符串到DATETIME的转换值
语法
TO_DATE(expression )
参数
expression
 日期格式的字符常量
返回类型
DATETIME
示例
SELECT to_date('2002-07-17 16:09:53') FROM table

答案:2002-07-17 16:09:53.0(Datetime型)

SELECT to_date('2009-01-01') FROM table

答案:2009-01-01 00:00:00.0(Datetime型)

数值函数:

1、ABS
返回给定数字表达式的绝对值。
语法
ABS ( numeric_expression )
参数
numeric_expression
精确数字或近似数字数据类型类别的表达式
返回类型
返回与 numeric_expression 相同的类型。
示例:
SELECT ABS(-1.0), abs(Flocalamount) from t_gl_voucherentry

2、CELLING
返回大于或等于所给数字表达式的最小整数。
语法
CEILING ( numeric_expression )
参数
numeric_expression
 是精确数字或近似数字数据类型类别的表达式
返回类型
返回与 numeric_expression 相同的类型。
示例
SELECT CEILING(123.45), CEILING(-123.45), CEILING(0.0)

答案为:124;123;0

3、COS
一个数学函数,返回给定表达式中给定角度(以弧度为单位)的三角余弦值。
语法
COS ( float_expression )
参数
float_expression
 是DECIMAL类型得expression
返回类型
DECIMAL
示例
SELECT COS(3.14/2) FROM Test

4、EXP
返回所给的 float 表达式的指数值。
语法
EXP ( float_expression )
参数
float_expression
 是 DECIMAL类型的表达式。
返回类型
DECIMAL
示例
SELECT exp(1) FROM table

5、FLOOR
返回小于或等于所给数字表达式的最大整数。
语法
FLOOR ( numeric_expression )
参数
numeric_expression
 精确数字或近似数字数据类型类别的表达式
返回类型
返回与 numeric_expression 相同的类型.
示例
SELECT FLOOR(123,45), FLOOR(-123.45) FROM table
答案为:123;124

6、LOG
返回给定 float 表达式的自然对数(以e为底)。
语法
LOG ( float_expression )
参数
float_expression
 是DECIMAL数据数据类型的表达式
返回类型
DECIMAL
示例
SELECT  LOG(2.718281828459)  FROM table

答案:约等于1

7、PI
返回PI的值。

KSQL无此函数

8、SIGN
返回给定表达式的正 (+1)、零 (0) 或负 (-1) 号。
语法
SIGN ( numeric_expression )
参数
numeric_expression
 精确数字或近似数字数据类型类别的表达式
返回类型
DECIMAL
示例

SELECT SIGN(1.57),sign(-10) from table

答案:1.00; -1

9、SIN
以近似数字 (float) 表达式返回给定角度(以弧度为单位)的三角正弦值。
语法
SIN ( float_expression )
参数
float_expression
 是DECIMAL类型得表达式。
返回类型
DECIMAL
示例:

SELECT SIN(1.57) ,SIN(0) from table

答案:0.9999996829318346; 0.0

10、SQRT
返回给定表达式的平方根。
语法
SQRT ( float_expression )
参数
float_expression
 是 DECIMAL类型的表达式。
返回类型
DECIMAL
示例
SELECT SQRT(4) FROM table

答案:2

11、TAN
返回输入表达式的正切值。
语法
TAN ( float_expression )
参数
float_expression
返回类型
float 或 real 类型的表达式,解释为弧度数。
示例
SELECT TAN(3.1415926/4) FROM table

12、LOG10
返回给定 float 表达式的以 10 为底的对数。
语法
LOG10 ( float_expression )
参数
float_expression
  是 DECIMAL类型的表达式。
返回类型
DECIMAL
示例
SELECT log10(10) FROM table

答案:1

13、ROUND
返回数字表达式并四舍五入为指定的长度或精度.
语法
ROUND ( numeric_expression , length )
参数
numeric_expression
 精确数字或近似数字数据类型类别的表达式
length
 是 numeric_expression 将要四舍五入的精度。length 必须是INT(INTEGER). 当 length 为正数时,numeric_expression 四舍五入为 length 所指定的小数位数。当 length 为负数时,numeric_expression 则按 length 所指定的在小数点的左边四舍五入。
返回类型
返回与 numeric_expression 相同的类型。
注释
ROUND 始终返回一个值。如果 length 是负数且大于小数点前的数字个数,ROUND 将返回 0。
示例 结果
ROUND(748.58, -4) 0

示例
SELECT ROUND(123.1235, 2), ROUND(123.1235, 3) FROM  FROM table

答案:123.12;123.124

14、MOD
返回两个整型数值相除得余数。
语法
MOD( int_expression , int_expression )
参数
int_expression
 整型数据类型类别得表达式。
返回类型
 INT
示例
SELECT mod(11,2) FROM

答案:1

15、NULLIF
如果两个指定的表达式相等,则返回空。
语法
NULLIF ( expression , expression )
参数
expression
 常量、列名、函数、子查询或算术运算符的任意组合。
返回类型
返回类型与第一个 expression 相同。
如果两个表达式不相等,NULLIF 返回第一个 expression 的值。如果相等,NULLIF 返回第一个 expression 类型的空值。
示例
select NULLIF(1,1),NULLIF(1,2) from table

答案: 空;1

16、ISNULL
如果第一个表达式的值为空,则返回第二个表达式的值,否则,返回第一个表达式的值。
语法
ISNULL ( expression , expression )
参数
expression
 常量、列名、函数、子查询或算术运算符的任意组合。
返回类型
返回类型与第一个 expression 相同。
如果第一个表达式的值为空,ISNULL 返回第二个 expression 的值。否则,ISNULL 返回第一个 expression 类型的值。
示例
SELECT ISNULL( FMoney , 0) AS FMoney FROM table

17、ASCII
返回字符表达式最左端字符的 ASCII 代码值。
语法
ASCII ( character_expression )
参数
character_expression
 是类型为 char 或 varchar的表达式。
返回类型
INT
示例
select ASCII('A') FROM TABLE

答案:65

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wiser/archive/2009/07/29/4392093.aspx

内容概要:本文系统研究了基于CNN-SVM的卷积神经网络与支持向量机融合的数据分类预测方法,聚焦其在工业故障识别中的应用,提供了完整的Matlab代码实现。通过CNN提取输入数据的深层空间特征,再由SVM进行高精度分类,充分发挥两者优势,有效提升了故障识别的准确性、鲁棒性与泛化能力。该方法特别适用于处理电力系统、机械设备等领域的高维、非线性、强噪声监测数据,在变压器故障诊断、轴承缺陷识别等场景中具有重要应用价值。文档还整合了机器学习、深度学习、图像处理、路径规划、电力系统优化等多个前沿科研方向的技术资源,配套大量Matlab/Simulink仿真案例与Python代码,全面支持科研复现与工程实践。; 适合人群:具备一定编程基础,熟练掌握Matlab或Python语言,从事电气工程、自动化、人工智能、机械故障诊断等相关领域研究的研发人员及高校研究生; 使用场景及目标:① 实现工业设备的状态监测与多类别故障分类;② 深入理解CNN与SVM融合模型的设计原理与工程实现细节;③ 借助所提供的丰富算法案例开展科研复现、模型优化与系统仿真验证; 阅读建议:建议按照文档目录结构系统化学习,结合百度网盘提供的完整代码资源进行动手实践,重点关注CNN特征提取层与SVM分类器之间的数据接口设计与参数调优策略,同时可延伸学习文中涉及的其他智能算法及其在电力系统、信号处理等领域的交叉应用,全面提升科研创新能力。
内容概要:本文围绕“考虑电动汽车灵活性的微网多时间尺度协调调度”展开研究,提出了一种基于Matlab代码实现的优化调度模型。该模型深入挖掘电动汽车作为灵活可控负荷与分布式储能单元的双重潜力,通过构建日前、日内及实时等多时间尺度的协调调度机制,有效应对光伏发电的间歇性与波动性,实现微电网内部功率的动态平衡。研究综合集成了电动汽车集群的有序充放电管理、储能系统协同优化与多种需求响应策略,建立了以系统运行成本最小化、可再生能源消纳最大化及供电可靠性最优化为目标的综合数学模型,并采用Matlab进行仿真求解。结果表明,所提方法能显著平抑功率波动,优化源-荷-储资源的时空配置,提升微电网运行的经济性与稳定性。; 适合人群:电气工程、能源与动力工程、控制科学与工程、电力系统及其自动化等专业的研究生、高校科研人员,以及从事智能电网、微电网规划、电动汽车与电网互动(V2G)技术研发的工程技术人员。; 使用场景及目标:①研究高比例可再生能源接入背景下,含大规模电动汽车的微电网协同优化运行策略;②掌握多时间尺度滚动优化的建模思想与Matlab/Simulink仿真技术;③探索电动汽车聚合商参与电力市场辅助服务的可行路径与效益评估方法; 阅读建议:建议读者结合提供的Matlab代码进行复现与调试,深入理解目标函数构建、约束条件处理及求解器调用等关键技术环节,可尝试引入电池老化模型、用户出行行为不确定性等更贴近实际的因素,以深化研究的实用性与前瞻性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值