整理的SQL常用函数
postgre sql常用函数

postgre sql常用函数
在PostgreSQL中常用的函数有以下几种:
1. 聚合函数:用于对数据进行分组计算,常见的聚合函数有SUM、AVG、COUNT、MIN、MAX等。
2. 数学函数:用于进行数学运算,常见的数学函数有ABS(取绝对值)、ROUND(四舍五入)、CEIL(向上取整)、FLOOR(向下取整)等。
3. 字符串函数:用于对字符串进行操作,常见的字符串函数有CONCAT(拼接字符串)、SUBSTRING(截取子串)、LENGTH(计算字符串长度)等。
4. 日期函数:用于处理日期和时间数据,常见的日期函数有NOW (获取当前时间)、DATE_PART(提取日期部分)、DATE_TRUNC(截断日期部分)等。
5. 条件函数:用于根据条件进行计算,常见的条件函数有CASE WHEN(条件判断)、COALESCE(返回第一个非空值)等。
6. 转换函数:用于进行数据类型的转换,常见的转换函数有CAST (将数据类型转换为指定类型)、TO_CHAR(将日期转换为字符串)等。
7. 窗口函数:用于在查询结果中进行窗口操作,常见的窗口函数有ROW_NUMBER(返回行号)、RANK(返回排名)等。
这些是PostgreSQL中常用的函数,根据具体的业务需求,还可以使用更多的函数进行数据处理和计算。
sql常用函数及用法

sql常用函数及用法SQL是一种使用结构化查询语言来管理关系数据库系统的编程语言。
在SQL中,有许多常用函数可用于在查询中计算结果值。
常用函数通常包括聚合函数、字符串函数、日期和时间函数、数学函数、条件函数等。
以下是SQL常用函数及其用法的参考内容。
1. 聚合函数聚合函数在SQL中用于计算和汇总数据。
最常用的聚合函数是SUM、AVG、MAX和MIN。
例如:SELECT SUM(salary) FROM employee;这将返回员工表中所有员工的总工资。
2. 字符串函数字符函数用于处理文本数据。
最常用的字符函数是LEN、UPPER、LOWER、SUBSTRING和CONCAT。
例如:SELECT UPPER(last_name) FROM employee;这将返回所有员工的姓氏的大写形式。
3. 日期和时间函数日期和时间函数用于处理日期和时间数据。
最常用的日期和时间函数是NOW、YEAR、MONTH、DAY和HOUR。
例如:SELECT YEAR(hire_date) FROM employee;这将返回每个员工被雇用的年份。
4. 数学函数数学函数用于计算数值数据。
最常用的数学函数是ABS、ROUND、CEILING和FLOOR。
例如:SELECT ABS(salary) FROM employee;这将返回员工工资的绝对值。
5. 条件函数条件函数根据给定的条件返回不同的结果。
最常用的条件函数是IF、CASE和COALESCE。
例如:SELECT IF(salary>50000, "High", "Low") FROM employee;这将返回“高”或“低”,具体取决于每个员工的工资是否大于50000。
总的来说,SQL中的常用函数可以大大简化数据处理和查询操作。
在实际使用时,根据需要选择适当的函数和参数可以大大提高工作效率。
sql server 数学函数

sql server 数学函数
在 SQL Server 中,有许多数学函数可用于执行各种数学计算。
以下是一些常用的 SQL Server 数学函数:
1. 聚合函数 (Sum、Count、Average、Max、Min):用于计算一列或多列的总和、计数、平均数、最大值和最小值。
2. 平方根函数 (Square Root):用于计算一个数的平方根。
3. 正弦函数 (Sin):用于计算一个数的正弦值。
4. 余弦函数 (Cos):用于计算一个数的余弦值。
5. 正切函数 (Tan):用于计算一个数的正切值。
6. 割函数 (Georgius):用于计算一个数的割函数。
7. 对数函数 (Log):用于计算一个数的对数。
8. 指数函数 (Exp):用于计算一个数的指数。
9. 逆指数函数 (Inv Expo):用于计算一个数的逆指数。
10. 三角函数 (Sin、Cos、Tan、Georgius、Arcsin、Arccos、arctan):用于计算三角函数。
11. 绝对值函数 (Abs):用于计算一个数的绝对值。
12. 条件函数 (If):用于根据指定条件返回不同的结果。
这些函数只是 SQL Server 中众多数学函数的一部分,SQL Server 还支持其他数学函数,如指数对数函数 (ExpLog)、自然对数函数 (Log)、反三角函数 (InvTan)、部分分式函数 (Frac) 等。
sql 函数大全 比较常用的一些函数整理

sql 函数大全比较常用的一些函数整理select语句中只能使用sql函数对字段进行操作(链接sql server),select 字段1 from 表1 where 字段1.IndexOf("云")=1;这条语句不对的原因是indexof()函数不是sql函数,改成sql对应的函数就可以了。
left()是sql函数。
select 字段1 from 表1 where charindex('云',字段1)=1;字符串函数对二进制数据、字符串和表达式执行不同的运算。
此类函数作用于CHAR、VARCHAR、 BINARY、和VARBINARY 数据类型以及可以隐式转换为CHAR 或VARCHAR的数据类型。
可以在SELECT 语句的SELECT 和WHERE 子句以及表达式中使用字符串函数。
常用的字符串函数有:一、字符转换函数1、ASCII()返回字符表达式最左端字符的ASCII 码值。
在ASCII()函数中,纯数字的字符串可不用‘'括起来,但含其它字符的字符串必须用‘'括起来使用,否则会出错。
2、CHAR()将ASCII 码转换为字符。
如果没有输入0 ~ 255 之间的ASCII 码值,CHAR()返回NULL 。
3、LOWER()和UPPER()LOWER()将字符串全部转为小写;UPPER()将字符串全部转为大写。
4、STR()把数值型数据转换为字符型数据。
STR (<float_expression>[,length[, <decimal>]])length 指定返回的字符串的长度,decimal 指定返回的小数位数。
如果没有指定长度,缺省的length 值为10, decimal 缺省值为0。
当length 或者decimal 为负值时,返回NULL;当length 小于小数点左边(包括符号位)的位数时,返回length 个*;先服从length ,再取decimal ;当返回的字符串位数小于length ,左边补足空格。
sql常用的窗口函数

sql常用的窗口函数SQL常用的窗口函数窗口函数是SQL中非常强大且常用的功能,它可以在查询结果中根据指定的窗口范围进行计算,并返回相应的结果。
窗口函数可以在SELECT语句中使用,通过OVER子句来定义窗口范围。
本文将介绍SQL中常用的窗口函数,包括排名函数、聚合函数和分析函数。
一、排名函数排名函数用于对结果集中的行进行排名操作,常用的排名函数有ROW_NUMBER、RANK和DENSE_RANK。
1. ROW_NUMBER函数ROW_NUMBER函数为结果集中的每一行分配一个唯一的整数值,用于标识行的顺序。
例如,可以使用ROW_NUMBER函数来对销售额进行排序,并为每个销售额分配一个排名值。
示例代码如下:```sqlSELECT ROW_NUMBER() OVER (ORDER BY sales_amount DESC) as rank, sales_amountFROM sales_table;```2. RANK函数RANK函数用于计算结果集中每一行的排名,相同值的行将获得相同的排名,并且下一个排名将被跳过。
例如,可以使用RANK函数来计算销售额的排名,并处理相同销售额的情况。
示例代码如下:```sqlSELECT RANK() OVER (ORDER BY sales_amount DESC) as rank, sales_amountFROM sales_table;```3. DENSE_RANK函数DENSE_RANK函数与RANK函数类似,但是不会跳过排名。
即相同值的行将获得相同的排名,但下一个排名将不会被跳过。
例如,可以使用DENSE_RANK函数来计算销售额的密集排名。
示例代码如下:```sqlSELECT DENSE_RANK() OVER (ORDER BY sales_amount DESC) as rank, sales_amountFROM sales_table;```二、聚合函数聚合函数用于在窗口范围内计算结果集中的行的聚合值,常用的聚合函数有SUM、AVG、COUNT和MAX/MIN。
整理几个常用的sql内部函数

1.Avg 计算平均值Example: SELECT AVG(PRSTAFF)FROM PROJECTWHERE DEPTNO ='D11'2.Count 计算符合条件的纪录行数Example1: SELECT COUNT(*)FROM EMPLOYEEWHERE SEX ='F'Example2: SELECT COUNT(DISTINCT WORKDEPT)FROM EMPLOYEEWHERE SEX='F'3.Max 返回一个数据集里的最大值Example: SELECT MAX(SALARY) /12FROM EMPLOYEE4.min 返回一个数据集里的最小值Example: SELECT MIN(SALARY) /12FROM EMPLOYEE5.SUM 求和EXAMPLE: SELECT SUM(BONUS)FROM EMPLOYEEWHERE JOB ='CLERK'6. ABS or ABSVAL 计算绝对值EXAMPLE: SELECT ABS(BONUS)FROM EMPLOYEEWHERE JOB ='CLERK'7. CEILING 小数位进位EXAMPLE: SELECT CEILING( 3.5),CEILING( 3.1),CEILING(-3.1),CEILING(-3.5),FROM TABLEXThis example returns:4.0 4.0 -3.0 -3.08.CONCAT 字符串连结EXAMPLE:SELECT CONCAT(FIRSTNME, LASTNAME) AS FULLNAME FROM AUTHOR11.substring or substr 字符串截取Example:SELECT * FROM PROJECTWHERE SUBSTR(PROJNAME,1,10) ='OPERATION '挑选字段PROJNAME前十位等于常量'OPERATION '的所有记录12.Round 四舍五入Example1:SELECT ROUND(873.726, 2),ROUND(873.726, 1),ROUND(873.726, 0),ROUND(873.726, -1),ROUND(873.726, -2),ROUND(873.726, -3),ROUND(873.726, -4)FROM TABLEX结果:0873.730 0873.700 0874.000 0870.000 0900.000 1000.000 0000.000Example2:SELECT ROUND( 3.5, 0),ROUND( 3.1, 0),ROUND(-3.1, 0),ROUND(-3.5, 0)FROM TABLEX结果:4.0 3.0 -3.0 -4.013.UCASE or UPPER 转换为大写字符串UCASE('abcdef') 结果为’ABCDEF’14. LOWER or LCASE 转换为小写字符串lower('aBcDef') 结果为’abcdef15.locate 返回源串在目标串出现的的一个位置EXAMPLESELECT LOCATE(' FF C','FF FF CCC',1) FROM CBB72116. POSITION or POSSTR 返回源串在目标串出现的的一个位置EXAMPLE1:半角情况SELECT POSITION('D' IN 'FFCD') FROM CBB721EXAMPLE2:混合情况SELECT POSSTR('FFC DSF ',' F ') FROM CBB721------------------------------------------------------------------CURTIME 返回系统时间CURDATE 返回系统日期DATE 返回一个日期型值EXAMPLE: DATE(‘1980-12-07’)DAY 返回参数的日期值部分EXAMPLE:DATE1等于2000-03-15DATE2等于1999-12-31DAY (DATE1-DATE2)结果15DAYOFMONTH 返回参数日期部分AMC等于’2006-01-01’DAYOFMONTH(AMC)结果1DAYOFWEEK 返回星期值1~7,1-星期日;7-星期六AMC等于’2006-01-01’DAYOFMONTH(AMC)结果1DAYOFYEAR 返回值1~366AMC等于’2006-02-01’DAYOFMONTH(AMC)结果32DAYS 返回参数日期与’0001-01-01’的天数差EXAMPLE:AMC1等于’2006-02-01’AMC2等于’2006-01-01’DAYS(AMC1)-DAYS(AMC2)结果31HOUR 返回参数小时部分,参数为时间或时间戳类型。
oracle常用sql函数

oracle常用sql函数Oracle是一款非常优秀的数据库管理系统,它提供了很多强大的功能与工具,其中最基本而实用的功能就是SQL函数了。
下面我们将重点介绍一些常用的Oracle SQL函数,帮助读者更好地了解和掌握这些常用的函数,从而更加有效地处理和管理数据。
一、数值型函数1. ABS()函数:用于计算数值的绝对值,比如ABS(-10)会返回10。
2. CEIL()函数:用于向上取整,比如CEIL(3.14)会返回4。
3. FLOOR()函数:用于向下取整,比如FLOOR(3.14)会返回3。
4. MOD()函数:用于求模,比如MOD(12,5)会返回2。
5. ROUND()函数:用于四舍五入,比如ROUND(3.49)会返回3,而ROUND(3.51)会返回4。
二、字符型函数1. CONCAT()函数:用于连接两个字符串,比如CONCAT('hello','world')会返回helloworld。
2. SUBSTR()函数:用于截取字符串,比如SUBSTR('hello',2,3)会返回ell。
3. UPPER()函数:用于将字符串转换成大写,比如UPPER('hello')会返回HELLO。
4. LOWER()函数:用于将字符串转换成小写,比如LOWER('HELLO')会返回hello。
5. TRIM()函数:用于去掉字符串首尾的空格,比如TRIM(' hello ')会返回hello。
三、日期型函数1. CURRENT_DATE函数:用于获取当前日期,比如SELECT CURRENT_DATE FROM DUAL会返回当前日期。
2. SYSDATE函数:用于获取系统当前时间,比如SELECTSYSDATE FROM DUAL会返回系统当前时间。
3. TO_CHAR()函数:用于将日期转换成字符型,比如TO_CHAR(SYSDATE,'yyyy-mm-dd')会返回当前日期的年月日格式。
sqlserver函数大全及举例

sqlserver函数大全及举例在SQL Server中,函数是一种用于执行特定任务的代码块。
以下是SQL Server中可用的一些最常见的函数及其举例:1. 字符串函数LEN - 返回字符串的长度。
SELECT LEN('Hello World'); -- 11RIGHT - 返回指定字符串右侧的字符。
REPLACE - 替换字符串中的字符。
2. 数学函数SUM - 返回数值列的总和。
SELECT SUM(Sales) FROM SalesTable;3. 日期函数GETDATE - 返回当前日期和时间。
SELECT GETDATE();SELECT DATEDIFF(day, '2022-01-01', '2022-01-10'); -- 9DATEADD - 在日期中添加指定的时间间隔。
4. 聚合函数COUNT - 返回指定列或表的行数。
GROUP BY - 根据指定的列对结果进行分组。
SELECT City, COUNT(*) FROM EmployeeTable GROUP BY City;5. 逻辑函数CASE - 在满足某些条件时执行不同的代码块。
SELECT CASE WHEN Sales > 1000 THEN 'High' ELSE 'Low' END FROM SalesTable;COALESCE - 返回第一个非空值。
NULLIF - 如果两个参数相等,则返回NULL。
以上是SQL Server中常用的函数及其举例,使用函数可以大大简化SQL查询的复杂度,提高代码的可读性和复用性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
create table test (id int, value varchar(10))insertinto testvalues('1','aa')insertinto testvalues('1','bb')insertinto testvalues('2','aaa')insertinto testvalues('2','bbb')insertinto testvalues('2','ccc')insertinto testvalues('3','aa')insertinto testvalues('4','bb')select*from testselect id, [values] =stuff((select','+ [values] from test t where id = test.id forxmlpath('')), 1 , 1 ,'')from testgroupby idstuff(param1,startIndex,length, param2)说明:将param1中自startIndex(SQL中都是从1开始,而非0)起,删除length个字符,然后用param2替换删掉的字符。
*/COUNT()函数用于返回一个列内所有非空值的个数,这是一个整型值。
由于COUNT(*)函数会忽略NULL值,所以这个查询的结果是2。
三、SUM()函数SUM()函数是最常用的聚合函数之一,它的功能很容易理解:和AVG()函数一样,它用于数值数据类型,返回一个列范围内所有非空值的总和。
四、CAST()函数CAST()函数的参数是一个表达式,它包括用AS关键字分隔的源值和目标数据类型。
以下例子用于将文本字符串'123'转换为整型:SELECT CAST('123' AS int) 返回值是整型值123。
如果试图将一个代表小数的字符串转换为整型值,又会出现什么情况呢?SELECT CAST('123.4' AS int)CAST()函数和CONVERT()函数都不能执行四舍五入或截断操作。
由于123.4不能用int数据类型来表示,所以对这个函数调用将产生一个错误。
Server: Msg 245, Level 16, State 1, Line 1Syntax error converting the varchar value'123.4' to a column of data type int.在将varchar值'123.4' 转换成数据类型int时失败。
要返回一个合法的数值,就必须使用能处理这个值的数据类型。
对于这个例子,存在多个可用的数据类型。
如果通过CAST()函数将这个值转换为decimal类型,需要首先定义decimal 值的精度与小数位数。
在本例中,精度与小数位数分别为9与2。
精度是总的数字位数,包括小数点左边和右边位数的总和。
而小数位数是小数点右边的位数。
这表示本例能够支持的最大的整数值是9999999,而最小的小数是0.01。
SELECT CAST('123.4' AS decimal(9,2))decimal数据类型在结果网格中将显示有效小数位:123.40精度和小数位数的默认值分别是18与0。
如果在decimal类型中不提供这两个值,SQL Server 将截断数字的小数部分,而不会产生错误。
SELECT CAST('123.4' AS decimal)结果是一个整数值:123五、CONVERT()函数对于简单类型转换,CONVERT()函数和CAST()函数的功能相同,只是语法不同。
CAST()函数一般更容易使用,其功能也更简单。
CONVERT()函数的优点是可以格式化日期和数值,它需要两个参数:第1个是目标数据类型,第2个是源数据。
CONVERT()函数还具有一些改进的功能,它可以返回经过格式化的字符串值,且可以把日期值格式化成很多形式。
有28种预定义的符合各种国际和特殊要求的日期与时间输出格式。
六、STR()函数这是一个将数字转换为字符串的快捷函数。
这个函数有3个参数:数值、总长度和小数位数。
如果数字的整数位数和小数位数(要加上小数点占用的一个字符)的总和小于总长度,对结果中左边的字符将用空格填充。
在下面第1个例子中,包括小数点在内一共是5个字符。
结果显示在网格中,显然左边的空格被填充了。
这个调用指定,总长度为8个字符,小数位为4位:SELECT STR(123.4, 8, 4) 结果值的右边以0填充:123.4000。
下面给函数传递了一个10字符的值,并指定结果包含8个字符,有4个小数位:SELECT STR(123.456789, 8, 4) 只有将这个结果截断才能符合要求。
STR()函数对最后一位进行四舍五入:123.4568。
现在,如果为函数传递数字1,并指定结果包含6个字符,有4个小数位,STR()函数将用0补足右边的空位:SELECT STR(1, 6, 4) 1.0000 然而,如果指定的总长度大于整数位数、小数点和小数位数之和,结果值的左边将用空格补齐:SELECT STR(1, 6, 4) 1.0000 SELECT STR(1, 12, 4) ---------- 1.0000remove()是删除指定元素。
removeAll()是删除一个特定集合内所包含的元素。
七、DATENAME返回代表指定日期的指定日期部分的字符串。
语法DATENAME ( datepart , date )参数datepart是指定应返回的日期部分的参数。
下表列出了Microsoft® SQL Server™ 识别的日期部分和缩写。
weekday (dw) 日期部分返回星期几(星期天、星期一等)。
八、DATEADD()函数DATEADD()函数用于在日期/时间值上加上日期单位间隔。
比如,要得到2007年4月29日起90天后的日期,可以使用下列语句:SELECT DATEADD(DAY, 90, '4-29-2007')结果:2007-07-28 00:00:00.000可以把下表的值作为时间间隔参数传递给DATEADD()函数。
在下面列出的例子中,我们使用和上一个例子一样的日期,并且在这些例子中还包含了时间数据。
每个操作的结果将显示在查询的下一行中。
18年后:SELECT DATEADD(YEAR, 18, '4-29-1988 10:30 AM') 2006-04-29 10:30:00.00018年前:SELECT DATEADD(YY, -18, '4-29-1988 10:30 AM') 1970-04-29 10:30:00.0009000秒后:SELECT DATEADD(SECOND, 9000, '4-29-1988 10:30 AM') 1988-04-29 13:00:00.0009000000毫秒前:SELECT DATEADD(MS, -9000000, '4-29-1988 10:30 AM') 1988-04-29 08:00:00.000可以将CONVERT()函数和DATEADD()函数组合在一起,来对1989年9月8日9个月前的日期值进行格式化。
SELECT CONVERT(varchar(20), DATEADD(M, -9, '9-8-1989'), 101) 12/08/1988这将返回一个可变长度的字符值,比前面例子结果中的默认日期更易容易理解。
这是一个函数嵌套调用,DATEADD()函数的返回值(一个DateTime类型的值)被作为值参数传递给CONVERT()函数。
九、DATEPART()与DATENAME()函数这两个函数用于返回datetime或者shortdatetime值的日期部分。
DATEPART()函数返回一个整型值;DATENAME()函数返回一个包含描述性文字的字符串。
比如,将日期4-29-1988传递给DATEPART()函数,如指定返回月份值,则返回数字4:SELECT DATEPART(MONTH, '4-29-1988')而使用相同的参数,DATENAME()函数返回04(这取决于你的机器的本地语言,如果是英文版,那么将返回April):SELECT DATENAME(MONTH, '4-29-1988')这两个函数都接收和DATEADD()函数一样的时间间隔参数常量。
十、DATEDIFF()函数DATEADD()和DATEDIFF()函数可以看作一对表兄弟,有点像乘法与除法。
在等式的两端有4个元素:起始日期、时间间隔(datepart)、差值和最终日期。
如果已知其中的三个值,就可以求出第4个值。
如果在DATEADD()函数中使用起始日期、一个整型值和一个时间间隔,就可返回与起始日期相关的最终日期值。
如果提供了起始日期、时间间隔和最终日期,DATEDIFF()函数就可以返回差值。
SELECT DATEDIFF(MONTH, '9-8-1989', '10-17-1991') 结果是25个月。
如果以日期为单位呢?SELECT DATEDIFF(DAY, '9-8-1989', '10-17-1991') 结果是769天。
1996年7月2日和1997年8月4日之间差几个星期?SELECT DATEDIFF(WEEK, '7-2-1996', '8-4-1997') 57星期。
甚至可以算出自己的年龄是多少秒DECLARE @MyBrithDateSs datetimeSET @MyBrithDateSs='11-11-1994'SELECT DATEDIFF(SS,'11-11-1994','12-6-2016')十一、DAY()、MONTH()和YEAR()函数这三个函数分别返回以整数表示的datetime或者smalldatetime类型值的日、月、年。
它们的用途很广泛,如可以创建独特的个性化日期格式。