[sql] 常用函数整理(T-SQL 版)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[sql] 常用函数整理(T-SQL 版)相关的知识,希望对你有一定的参考价值。

USE master;

--5.2 字符串函数
--1.计算字符串长度
SELECT LEN(abc);

--2.字符串转换为小写
SELECT A,
    LOWER(a);

--3.字符串转换为大写
SELECT a,
    UPPER(a);

--4.截去字符串左侧空格
SELECT  a ,
    LTRIM( a );

--5.截去字符串右侧空格
SELECT  a ,
    RTRIM( a );

--6.截去字符串两侧的空格
SELECT  a ,
    RTRIM(LTRIM( a ));

--7.取子字符串
SELECT abcdef,
    SUBSTRING(abcdef, 2, 3);

--8.计算子字符串的位置
SELECT abcdef,
    CHARINDEX(abcdef, abcdef);

--9.从左侧开始取子字符串
SELECT abcdef,
    LEFT(abcdef, 3);

--10.从右侧开始取子字符串
SELECT abcdef,
    RIGHT(abcdef, 3);

--11.字符串替换
SELECT REPLACE( abc def,  , ‘‘);

--12.得到字符的 ASCII 码
SELECT ASCII(a),
    ASCII(abc);

--13.得到一个 ASCII 码数字对应的字符
SELECT CHAR(56),
    CHAR(90),
    CHAR(ASCII(a));

--转换为整数
SELECT CEILING(90.021);

--14.发音匹配度
SELECT SOUNDEX(jack),
    SOUNDEX(jeck),
    SOUNDEX(joke),
    SOUNDEX(juke),
    SOUNDEX(look),
    SOUNDEX(jobe);
SELECT DIFFERENCE(Kerry, Merry);

--5.3 日期时间函数
--1.取得当前日期时间的函数为 GETDATE()
SELECT GETDATE();
SELECT CONVERT(VARCHAR(50), GETDATE(), 101) AS 当前日期,
    CONVERT(VARCHAR(50), GETDATE(), 108) AS 当前时间;

--日期增减
SELECT GETDATE(),
    DATEADD(YEAR, 3, GETDATE()) AS threeyrs,
    DATEADD(QUARTER, 20, GETDATE()) AS ttqutrs,
    DATEADD(MONTH, 68, GETDATE()) AS sxtmonths,
    DATEADD(WEEK, -1000, GETDATE()) AS thweeik;

--计算日期差额
SELECT GETDATE(),
    DATEDIFF(YEAR, 1992-06-01 00:00:00, GETDATE()) 年份,
    DATEDIFF(QUARTER, 1992-06-01 00:00:00, GETDATE()) 季度,
    DATEDIFF(MONTH, 1992-06-01 00:00:00, GETDATE()) 月份,
    DATEDIFF(DAYOFYEAR, 1992-06-01 00:00:00, GETDATE()) 每年的某一日,
    DATEDIFF(DAY, 1992-06-01 00:00:00, GETDATE()) 日期,
    DATEDIFF(WEEK, 1992-06-01 00:00:00, GETDATE()) 星期,
    DATEDIFF(WEEKDAY, 1992-06-01 00:00:00, GETDATE()) 工作日,
    DATEDIFF(HOUR, 1992-06-01 00:00:00, GETDATE()) 小时,
    DATEDIFF(MINUTE, 1992-06-01 00:00:00, GETDATE()) 分钟,
    DATEDIFF(SECOND, 1992-06-01 00:00:00, GETDATE()) ;

-- 5.3.6 计算一个日期是星期几
SELECT GETDATE(),
    DATENAME(YEAR, GETDATE()) 年份,
    DATENAME(QUARTER, GETDATE()) 季度,
    DATENAME(MONTH, GETDATE()) 月份,
    DATENAME(DAYOFYEAR, GETDATE()) 每年的某一日,
    DATENAME(DAY, GETDATE()) 日期,
    DATENAME(WEEK, GETDATE()) 星期,
    DATENAME(WEEKDAY, GETDATE()) 工作日,
    DATENAME(HOUR, GETDATE()) 小时,
    DATENAME(MINUTE, GETDATE()) 分钟,
    DATENAME(SECOND, GETDATE()) ,
    DATENAME(MILLISECOND, GETDATE()) 毫秒;

-- 5.3.7 取得日期的指定部分
SELECT GETDATE(),
    DATEPART(YEAR, GETDATE()) 年份,
    DATEPART(QUARTER, GETDATE()) 季度,
    DATEPART(MONTH, GETDATE()) 月份,
    DATEPART(DAYOFYEAR, GETDATE()) 每年的某一日,
    DATEPART(DAY, GETDATE()) 日期,
    DATEPART(WEEK, GETDATE()) 星期,
    DATEPART(WEEKDAY, GETDATE()) 工作日,
    DATEPART(HOUR, GETDATE()) 小时,
    DATEPART(MINUTE, GETDATE()) 分钟,
    DATEPART(SECOND, GETDATE()) ,
    DATEPART(MILLISECOND, GETDATE()) 毫秒;

-- DATEPART() 函数的返回值是数字而 DATENAME() 函数则会将尽可能的以名称的方式做为返回值

-- 5.4 其他函数
-- 5.4.1 类型转换
--CAST ( expression AS data_type)
--CONVERT ( data_type, expression)

SELECT
CAST(-30 AS INT) as i,
CONVERT(DECIMAL,3.1415726) as d,
CONVERT(DATETIME,2008-08-08 08:09:10) as dt

-- 5.4.2 空值处理
-- 5.4.2.1 COALESCE()函数
-- COALESCE ( expression,value1,value2……,valuen)
SELECT COALESCE(‘‘, GETDATE()),
    COALESCE(NULL, GETDATE()),
    COALESCE(NULL, 2008-08-08,GETDATE())

 

以上是关于[sql] 常用函数整理(T-SQL 版)的主要内容,如果未能解决你的问题,请参考以下文章

T-SQL_常用内置函数和操作

C#常用代码片段备忘

什么是T-SQL

IOS开发-OC学习-常用功能代码片段整理

T-SQL和MySQL的一些常用语法的区别

sql 与 T-SQL是啥关系?