网站代码模板编写,vue框架做的网站,第1 ppt模板网,android小程序开发一、数学函数 1.RAND SELECT RAND () ---0.302870228294199取0-1之间的随机小数。 2.小数取整 CEILINT(data)舍掉小数部分并向上取整。FLOOR(data)舍掉小数部分并向下取整。SELECT TOP 3 FWeight, CEILING(FWeight ),FLOOR( FWeight) FROM T_PersonRound(m,d)#xff1a;四舍… 一、数学函数 1.RAND SELECT RAND () ---0.302870228294199 取0-1之间的随机小数。 2.小数取整 CEILINT(data)舍掉小数部分并向上取整。FLOOR(data)舍掉小数部分并向下取整。SELECT TOP 3 FWeight, CEILING(FWeight ),FLOOR( FWeight) FROM T_Person Round(m,d)四舍五入对小数进行取整。参数说明m为带处理的数据d为四舍五入时保留的小数位数为负数时表示对整数进行四舍五入。 SELECT TOP 3 FWeight, ROUND(FWeight ,2), ROUND(FWeight ,-1) FROM T_Person 结果 FWeight (无列名) (无列名) 56.67 56.67 60.00 36.17 36.17 40.00 40.33 40.33 40.00 3.SIGN()求符号 SELECT FWeight ,SIGN( FWeight-50 )as 50 FROM T_Person 结果 FWeight 50 56.67 1.00 36.17 -1.00 4.取余 在SQL Server中使用百分号%来实现取余操作。 SELECT FWeight ,FWeight% 10 FROM T_Person 结果 FWeight (无列名) 56.67 6.67 36.17 6.17 40.33 0.33 二、字符串函数 1.LEN(str)计算字符串长度。 2.去除空格 LTRIM(str)去掉字符串左侧空格。RTRIM(str)去掉字符串右侧空格。SELECT HELLO ,LEN( HELLO ),LEN (LTRIM( HELLO )),LEN (RTRIM( LTRIM( HELLO ))) 结果 (无列名) (无列名) (无列名) (无列名) HELLO 7 5 5 3.截取子串 SUBSTRING(str,start,length)取子字符串。其中start从1开始计算length为子串长度。LEFT(str,length)从最左侧开始截取子串。RIGHT(str,length)从最右侧开始截取子串。SELECT FName ,SUBSTRING( FName,2 ,2),LEFT( FName,2 ) as l,RIGHT( FName,2 ) as r FROM T_Person 结果 FName (无列名) l r Lily il Li ly Kelly el Ke ly Sam am Sa am 4.字符串替换 REPLACE(str,old,new)str为要替换的原字符串old为要被替换的字符串部分new是用来替换的新字符串。 SELECT LEN ( HELLO ), LEN(REPLACE ( HELLO , , )) --结果6,5 5.ASCII码 ASCII(char)计算字符的ASCII码如果参数是一个字符串则返回第一个字母的ASCII码。CHAR(num)正好相反是根据ASCII码数值计算对应的字符。SELECT ASCII (A), ASCII(ANY ),CHAR( 90)--65,65,Z 6.发音匹配度 DIFFERENCE 在SQL Server中使用DIFFERENCE方法查询两个字符串的发音相似度。该方法计算两个字符串的发音特征值并进行比较然后返回一个0-4之间的整数这个数字越大表示两个字符串发音越相似。 例如 SELECT FName FROM T_Person WHERE DIFFERENCE( FName,Tony )2 三、日期时间函数 1.GETDATE()--当前时间 SQL Server中取得当前时间的函数GETDATE()可以使用CONVERT函数对其格式进行处理。 SELECT GETDATE () --2014-02-17 12:44:39.933
SELECT CONVERT (VARCHAR( 50),GETDATE (),101) AS NOWDATE --02/17/2014
SELECT CONVERT (VARCHAR( 50),GETDATE (),108) AS NOWDATE --12:44:39 2.DATEADD()--日期增减 DATEADD(datepart,number,date)date为要计算的日期number为加减日期数datepart可以理解为加减的单位。 例如 SELECT FBirthDay ,DATEADD( YEAR,1 ,FBirthDay) FROM T_Person
SELECT FBirthDay ,DATEADD( QUARTER,2 ,FBirthDay) FROM T_Person
SELECT FBirthDay ,DATEADD( WEEK,-2 ,FBirthDay) FROM T_Person 3.DATEDIFF()--日期差额 DATEDIFF(datedepart,startdate,enddate)其中datedepart含义同DATEADD参数startdate和enddate为相减的两个日期。 SELECT FBirthDay ,FRegDay, DATEDIFF(YEAR ,FBirthDay, FRegDay) AS UserAge FROM T_Person 结果 FBirthDay FRegDay UserAge 1981-03-22 00:00:00.000 1998-05-01 00:00:00.000 17 1987-01-18 00:00:00.000 1999-08-21 00:00:00.000 12 1987-11-08 00:00:00.000 2001-09-18 00:00:00.000 14 4.DATENAME()--计算日期名称 DATENAME(datedepart,date)datedepart参数同DATEADD,date为要计算的目标日期。 SELECT GETDATE () AS NOW, DATENAME(YEAR ,GETDATE()) AS YEAR,DATENAME (DAY, GETDATE()) AS 日期 ,DATENAME( WEEKDAY,GETDATE ()) AS WEEKDAY,DATENAME (QUARTER, GETDATE()) AS 季度 结果 NOW YEAR 日期 WEEKDAY 季度 2014-02-17 13:57:56.127 2014 17 星期一 1 5.DATEPART()--取得日期指定部分 DATEPART(datedepart,date)datedepart参数同DATEADD,date为要计算的目标日期。该方法和DATENAME类似不过DATEPART返回值是数字而DATENAME尽量返回的名称。 SELECT GETDATE () AS NOW, DATEPART(YEAR ,GETDATE()) AS YEAR,DATEPART (DAY, GETDATE()) AS 日期 ,DATEPART( WEEKDAY,GETDATE ()) AS WEEKDAY, DATEPART(QUARTER ,GETDATE()) AS 季度 四、其他函数 1. 类型转换 CAST(exp AS datetype)CONVERT(datetype,exp)SELECT FIdNumber ,CAST(RIGHT( FIdNumber,4 ) AS INT), Convert(INT ,RIGHT(FIdNumber, 4))%2 FROM T_Person 结果 FIdNumber (无列名) (无列名) 123456789120 9120 0 123456789121 9121 1 123456789122 9122 0 2.空值处理 ①COALESCE(exp,val1,val2....)参数个数不固定。如果exp为null则返回val1如果val1为null则返回val2...以此类推。如果所有值都为null则返回null。 例如 SELECT FBirthDay ,FRegDay, COALESCE(FBirthDay ,FRegDay, 1900-1-1) FROM T_Person 结果 FBirthDay FRegDay (无列名) 1982-07-12 00:00:00.000 2000-03-01 00:00:00.000 1982-07-12 00:00:00.000 1983-02-16 00:00:00.000 1998-05-01 00:00:00.000 1983-02-16 00:00:00.000 NULL 1999-03-01 00:00:00.000 1999-03-01 00:00:00.000 NULL NULL 1900-01-01 00:00:00.000 1972-07-18 00:00:00.000 1995-06-19 00:00:00.000 1972-07-18 00:00:00.000 ②ISNULL(exp1,exp2)如果exp1值为NULL则返回exp2. 例如 SELECT FBirthDay ,FRegDay, ISNULL(FBirthDay ,FRegDay) FROM T_Person 结果 FBirthDay FRegDay (无列名) 1982-07-12 00:00:00.000 2000-03-01 00:00:00.000 1982-07-12 00:00:00.000 1983-02-16 00:00:00.000 1998-05-01 00:00:00.000 1983-02-16 00:00:00.000 NULL 1999-03-01 00:00:00.000 1999-03-01 00:00:00.000 NULL NULL NULL 1972-07-18 00:00:00.000 1995-06-19 00:00:00.000 1972-07-18 00:00:00.000 ③NULLIF(exp1,exp2) 如果exp1等于exp2则返回NULL否则返回exp1. 实例 SELECT NULLIF (1, 1),NULLIF (1, 2),NULLIF (1,NULL) --返回NULL,1,1 3.SQL Server独有函数 ①PATINDEX()--可以使用通配符模糊查询某字符串出现的位置功能比CHARINDEX强大。 例如 SELECT FName ,PATINDEX( %_i%,FName ) FROM T_Person 结果 ②REPLICATE(str,count)将一个字符串str重复count次。 SPACE(N)将空格重复N次。 例如 SELECT FName ,REPLICATE( FName,3 ),FNAME SPACE(5 )FNAME FROM T_Person ③REVERSE(str)返回字符串的倒序。 ④APP_NAME()当前应用程序名称HOST_NAME():返回工作站名CURRENT_USER:返回当前登录用户名。 本文转自 陈敬Cathy 博客园博客原文链接http://www.cnblogs.com/janes/p/3574025.html如需转载请自行联系原作者