SQL Server 常用函数总结

SQL去空格函数

1、ltrim(‘内容’)--去掉字符左边的空格 代码如下

declare @str varchar(100)
set @str=‘  ADFADF‘
select  @str
select ltrim(@str)

2、rtrim(‘内容’)---去掉列值右边的空格 ---作用和LTRIM()一样,这里不做介绍

3、ltrim(rtrim(‘内容‘)):去掉字符串左边和右边的空格

4、replace(计算字段,‘ ‘,‘‘)---去掉计算字段列值中所有的空格,如下代码:

declare @str varchar(100)
set @str=‘Hello   Work‘
select  @str
select REPLACE(@str,‘ ‘,‘‘)

SQL常用函数

1、left()      ---返回字符串左边的字符:代码如下

declare @str varchar(100)
set @str=‘HelloWork‘
select  @str
select left(@str,2)

2、right()   ---返回字符串右边的字符

用法和LEFT()方法相反

3、substring( expression, start, length ) --返回从字符串expression左边第start个字符起length个字符的部分。

declare @str varchar(100)
set @str=‘hellowork‘
select  SUBSTRING(@str,6,4)

4、len() (也可以使用datalength())      ---返回字符串的长度

declare @str varchar(100)
set @str=‘HelloWork‘
select  datalength(@str)
select len(@str)

5、upper()    ---将字符串转为大写

declare @str varchar(100)
set @str=‘hellowork‘
select  upper(@str)

6、lower()    ---将字符串转换成小写 用法和UPPER()函数相反!

7、stuff( character_expression , start , length ,character_expression ) --返回从字符串character_expression左边第start个字符开始要删除length个字符,在start开始删除的位置插入新字符串character_expression 。

declare @str varchar(100)
set @str=‘hellowork‘
select  STUFF(@str,6,4,‘byby‘)

8、 charindex ( expression1 , expression2 [ , start_location ] )--  expression1是要到expression2中寻找的字符中,start_location是charindex函数开始在expression2中找expression1的位置, charindex函数返回一个整数,返回的整数是要找的字符串在被找的字符串中的位置。假如charindex没有找到要找的字符串,那么函数整数“0”

declare @str varchar(100)
set @str=‘hellowork‘
select  CHARINDEX(‘work‘,@str)
select  CHARINDEX(‘4‘,@str)

9、  patindex ( %pattern% , expression )--函数返回字符或字符串在另一个字符串或表达式中的起始位置,patindex函数支持搜索字符串中使用通配符,这使patindex函数对于变化的搜索字符串很有价值

declare @str varchar(100)
set @str=‘hellowork‘
select  patindex(‘%work%‘,@str)
select  patindex(‘%4%‘,@str)

10、isnull(‘内容‘,‘‘):判断字符串是否为null,是的话返回‘’

11、isdate(‘内容‘):判断是否为时间格式,是的话返回1,否的话返回0

SQL统计函数

AVG ( ) -返回的平均价值
count( ) -返回的行数
first( ) -返回第一个值
last( ) -返回最后一个值
max( ) -返回的最大价值
min( ) -返回最小的价值
total( ) -返回的总和

SQL日期函数

SQL Server Date 函数

下面的表格列出了 SQL Server 中最重要的内建日期函数:

       函数                 描述          
getdate()   返回当前日前与时间 
datepart(type,date)
返回日期/时间的单独部分

dateadd(type,number,date) 在日期中添加或减去指定的时间间隔 
datediff(type,date1,date2) 返回两个日期之间的时间
convert( data_type [ ( length ) ] , expression [ , style ]) 用不同的格式显示日期/时间
--getdate 获取当前时间
 select getdate()

 --dateadd 原有时间加: 2013-02-17 13:20:16 此时间加12个月
 select dateadd(MONTH,12,‘2013-02-17 13:20:16‘)  --返回:2014-02-17 13:20:16.000  (参数month可以改为 day,year等日期加相应的值)

 --datediff 两个时间的差 (后面-前面=返回值)
 select datediff(day,‘2013-02-01‘,‘2013-02-18‘)   --返回:17  (参数day可以改为 month,year等日期加相应的值)

 --datepart 获取日期的某个部分整数
 select DATEPART(month, ‘2013-2-17‘)  --返回 2    (参数month可以改为 day,year等日期加相应的值)

 --datename 获取指定部位的字符串
 select datename(weekday, ‘2013-2-17‘)  --返回 星期日 (参数weekday可以改为 day,year等日期加相应的值)

 --day(), month(),year() 获取指定部位的字符串
 select day(‘2013-2-15‘) --返回15

Convert日期转换函数

时间格式转换使用 CONVERT:CONVERT ( data_type [ ( length ) ] , expression [ , style ] )

data_type
目标系统所提供的数据类型,包括 bigint 和 sql_variant。不能使用用户定义的数据类型。
参数
length
nchar、nvarchar、char、varchar、binary 或 varbinary 数据类型的可选参数。

expression
是任何有效的 Microsoft® SQL Server™ 表达式。

style:风格

Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06
Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16
Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06
Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06
Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06
Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06
Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06
Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46
Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM
Select CONVERT(varchar(100), GETDATE(), 10): 05-16-06
Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16
Select CONVERT(varchar(100), GETDATE(), 12): 060516
Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937
Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967
Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47
Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157
Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM
Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47
Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250
Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 101): 05/16/2006
Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.16
Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006
Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2006
Select CONVERT(varchar(100), GETDATE(), 105): 16-05-2006
Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2006
Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006
Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49
Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM
Select CONVERT(varchar(100), GETDATE(), 110): 05-16-2006
Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16
Select CONVERT(varchar(100), GETDATE(), 112): 20060516
Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513
Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547
Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49
Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700
Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827
Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM
Select CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM

关于更多日期函数操作可以看https://www.cnblogs.com/zhangpengnike/p/6122588.html

原文地址:https://www.cnblogs.com/wfy680/p/11972402.html

时间: 2024-11-14 23:57:35

SQL Server 常用函数总结的相关文章

SQL Server 常用函数使用方法(持续更新)

之前就想要把一些 SQL 的常用函数记录下来,不过一直没有实行...嘿嘿... 直到今天用到substring()这个函数,C# 里面这个方法起始值是 0,而 SQL 里面起始值是 1.傻傻分不清楚... 这篇博客作为记录 SQL 的函数的使用方法,想到哪里用到哪里就写到哪里... SubString():用于截取指定字符串的方法.该方法有三个参数: 参数1:用于指定要操作的字符串. 参数2:用于指定要截取的字符串的起始位置,起始值为 1 . 参数3:用于指定要截取的长度. select sub

Sql Server常用函数及技巧

使用Sql Server好长时间了,今天特别想总结一下,算是回顾吧! 常用函数: 1. ISNULL(columnName, '') 先判断该字段是否为空,如果为空,返回''; 否则返回该字段本来的值. 2. DATEDIFF(datepart,startdate,enddate) 不罗嗦,直接参考 链接 3. 实用语句: 1. 有时候项目中定义的储存过程比较多,需要确定某一个表被哪些stored procedure使用了,可以有如下两种方法: a. SSMS界面上,选中要查的表,右键,点击查找

SQL Server 常用函数和日期操作

一.字符转换函数 1.ASCII() 返回字符表达式最左端字符的ASCII 码值. 在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错. print ASCII('123456')    =>    49 print ASCII(123456)     =>    49 print ASCII('abc')         =>    97 2.CHAR() 将ASCII 码转换为字符.如果没有输入0 ~ 255 之间的ASCII

Sql Server 常用函数

元数据函数 DB_ID 获取数据库唯一标识,是服务器上的唯一标识 语法结构 :DB_ID(['database_name']) 参数说明 :database_name是数据库名称,为可选参数.如果没有指定则返回当前所在数据库的ID 返回值:int类型的数据库标识符 使用:SELECT DB_ID(); DB_NAME 获取当前数据库的名称 语法结构 :DB_NAME(['database_id']) 参数说明 :database_id为可选参数,是数据库的id,可由DB_ID函数获得.如果没有指

sql server常用函数、常用语句

一.常用函数 1.字符串函数 : charindex(':','abc:123')    --寻找一个字符在一段字符串中起始的位置 len('zhangsan')   --获取一段字符串的长度 left('Ly,君子之耀',2) --从一段字符串左边返回指定长度的字符 right(char_expr,int_expr)  --返回字符串右边int_expr个字符 substring(expression,start,length) --截取字符串 datalength(Char_expr)  -

SQL SERVER常用函数

LEN(字符串) 返回这个字符串中字符的长度. ISNULL(check,return) 空值函数.检查check是否为NULL,如果为NULL则返回return的值. DATEADD(unit,duration,date)在向指定日期加上或减去一段时间,返回这个新的DATETIME值.unit单位(YEAR,DAY...),duration--间隔长度(可为负数),date要修改的日期. SUBSTRING(str,index,length) 截取字符串方法.str:需要截取的字符串:inde

SQL Server常用函数汇总

1.day(date)   --参数:date是一个可以解析为 time.date.smalldatetime.datetime.datetime2 或 datetimeoffset 值的表达式.列表达式.用户定义的变量或字符串文字 --返回值:一个整数,该整数表示指定的 date 是该月份的哪一天  用途:获取日期是所在月的几号 eg:  day(getdate()) --获取当前时间是当前月份的哪一天  扩展: select CONVERT(VARCHAR(10),DATEADD(dd,-d

SQL Server 常用命令使用方法

(1) 数据记录筛选: sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]" sql="select * from 数据表 where 字段名 like '%字段值%' order by 字段名 [desc]" sql="select top 10 * from 数据表 where 字段名 order by 字段名 [desc]" sql="select * from 数据表

SQL Server日期函数总结

获得一个月的天数:首先到得一个月最后一天的日期,通过 SQL Server 日期函数 day() 取得日期中的“天 ”部分 获得 2008 年 2 月份的天数:select day(cast('2008-03-01' as datetime) - 1) 获得本月天数: 返回一个整数,该整数表示指定的 date 是该月份的哪一天. select day(dateadd(month,1,getdate()) - day(getdate())) 获得上个月天数:select day(getdate()