sqlserver常见字符日期处理函数

合集下载

SqlServer时间日期处理函数及字符串转换

SqlServer时间日期处理函数及字符串转换
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 本年第多少周=datename(week,'2004-10-15')
,今天是周几=datename(weekday,'2004-10-15')
函数 参数/功能
GetDate( ) 返回系统目前的日期与时间
DateDiff (interval,date1,date2) 以interval 指定的方式,返回date2 与date1两个日期之间的差值 date2-date1
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
4. datepart DATEPART(month, '2004-10-15') --返回 10
5. datename 返回代表指定日期的指定日期部分的字符串
SELECT datename(weekday, '2004-10-15') --返回:星期五

SQLServer各种日期计算方法

SQLServer各种日期计算方法

SQL Server各种日期计算方法通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天。

你们大部分人大概都知道怎样把日期进行分割(年、月、日等),然后仅仅用分割出来的年、月、日等放在几个函数中计算出自己所需要的日期!在这篇文章里,我将告诉你如何使用DATEADD和DATEDIFF函数来计算出在你的程序中可能你要用到的一些不同日期。

在使用本文中的例子之前,你必须注意以下的问题。

大部分可能不是所有例子在不同的机器上执行的结果可能不一样,这完全由哪一天是一个星期的第一天这个设置决定。

第一天(DATEFIRST)设定决定了你的系统使用哪一天作为一周的第一天。

所有以下的例子都是以星期天作为一周的第一天来建立,也就是第一天设置为7。

假如你的第一天设置不一样,你可能需要调整这些例子,使它和不同的第一天设置相符合。

你可以通过@@DATEFIRST函数来检查第一天设置。

为了理解这些例子,我们先复习一下DATEDIFF和DATEADD函数。

DATEDIFF函数计算两个日期之间的小时、天、周、月、年等时间间隔总数。

DATEADD函数计算一个日期通过给时间间隔加减来获得一个新的日期。

要了解更多的DATEDI FF和DATEADD函数以及时间间隔可以阅读微软联机帮助。

使用DATEDIFF和DATEADD函数来计算日期,和本来从当前日期转换到你需要的日期的考虑方法有点不同。

你必须从时间间隔这个方面来考虑。

比如,从当前日期到你要得到的日期之间有多少时间间隔,或者,从今天到某一天(比如1900-1-1)之间有多少时间间隔,等等。

理解怎样着眼于时间间隔有助于你轻松的理解我的不同的日期计算例子。

一个月的第一天第一个例子,我将告诉你如何从当前日期去这个月的最后一天。

请注意:这个例子以及这篇文章中的其他例子都将只使用DATEDIFF和DATEADD函数来计算我们想要的日期。

每一个例子都将通过计算但前的时间间隔,然后进行加减来得到想要计算的日期。

sqlserver常用函数

sqlserver常用函数

sqlserver常用函数
SQLServer是一种关系型数据库管理系统,它提供了许多有用的函数来处理数据。

以下是一些常用的SQL Server函数:
1. SUBSTRING函数:用于返回一个字符串的子字符串。

2. LEN函数:用于返回一个字符串的长度。

3. REPLACE函数:用于将字符串中的指定字符或字符串替换为新的字符或字符串。

4. CHARINDEX函数:用于查找一个字符串中的子字符串的位置。

5. UPPER和LOWER函数:用于将字符串转换为大写或小写。

6. CAST和CONVERT函数:用于将一个数据类型转换为另一个数据类型。

7. GETDATE函数:用于返回当前系统日期和时间。

8. DATEPART函数:用于从日期或时间值中提取指定的部分(例如,年、月、日、小时、分钟或秒)。

9. DATEDIFF函数:用于计算两个日期之间的差异。

10. RANK和ROW_NUMBER函数:用于对查询结果进行排名和编号。

这些函数可以极大地方便SQL Server开发人员的工作,使他们能够更轻松地处理和管理数据。

- 1 -。

sqlserver 高级函数

sqlserver 高级函数

SQL Server 提供了许多高级函数,这些函数可以帮助您更有效地处理和操作数据。

以下是一些常用的SQL Server 高级函数:1.聚合函数:如SUM(), AVG(), COUNT(), MAX(), MIN()等,用于对一组值执行计算。

2.字符串函数:如CONCAT(), LEFT(), RIGHT(), CHARINDEX(), REPLACE(), SUBSTRING()等,用于处理和操作字符串数据。

3.日期和时间函数:如GETDATE(), DATEPART(), DATEDIFF(), DATEADD(), YEAR(), MONTH(), DAY ()等,用于处理和操作日期和时间数据。

4.转换函数:如CAST(), CONVERT(),用于在数据类型之间转换数据。

5.数学函数:如ROUND(), CEILING(), FLOOR(), ABS(), SQRT()等,用于执行数学计算。

6.条件函数:如CASE语句, COALESCE(), NULLIF()等,用于基于条件执行逻辑操作。

7.XML 函数:如XMLSERIALIZE(), XMLQUERY(), XMLDUMPELEMENTS()等,用于处理XML 数据。

8.其他高级函数:如PIVOT和UNPIVOT,用于将行转换为列或列转换为行。

9.分析函数:如RANK(), DENSE_RANK(), ROW_NUMBER(), LAG(), LEAD()等,用于执行窗口函数操作。

10.表值函数:如TVFs (Table-Valued Functions),允许您创建返回表的结果集的自定义函数。

11.CLR 集成:通过 .NET CLR (Common Language Runtime) 集成,可以在SQL Server 中编写C# 或其他 .NET 语言代码并执行它们。

sqlserver dateadd函数

sqlserver dateadd函数

sqlserver dateadd函数日期函数在 SQL Server 中十分常见,并且在处理时间相关的数据时经常使用。

其中 dateadd 函数是一个常用的日期函数,它可以在给定的日期中添加或减去指定的时间间隔,并返回新的日期。

下面,我们来一步步介绍 dateadd 函数的使用方法:一、语法dateadd 函数的语法如下:DATEADD (datepart , number , date )其中,datepart 是一个字符串,指定要添加或减去的时间间隔为: year(年),quarter(季度),month(月),dayofyear(年中的第几天),day(天),week(周),weekday(工作日,即Monday 到 Friday),hour(时),minute(分),second(秒),millisecond(毫秒)、microsecond(微秒)或 nanosecond(纳秒)。

number 是要添加或减去的时间间隔数值,它可以是正数也可以是负数。

date 是一个日期时间值(datetime、date 或 time 类型),是要被添加或减去时间间隔的源值。

二、示例下面,我们通过一些示例来说明 dateadd 函数的用法。

1. 在一个日期中加上 n 天SELECT DATEADD(day, 7, '2021-06-10') AS AddDate输出:2021-06-17 00:00:00.000解释:给 2021-06-10 加上 7 天,输出的结果为 2021-06-17。

2. 在一个日期中加上 n 个月SELECT DATEADD(month, 3, '2021-06-10') AS AddMonth输出:2021-09-10 00:00:00.000解释:给 2021-06-10 加上 3 个月,输出的结果为 2021-09-10。

3. 在一个日期中加上 n 年SELECT DATEADD(year, 2, '2021-06-10') AS AddYear输出:2023-06-10 00:00:00.000解释:给 2021-06-10 加上 2 年,输出的结果为 2023-06-10。

SqlServer对时间(月、周)的操作

SqlServer对时间(月、周)的操作

SqlServer对时间(⽉、周)的操作---上个⽉⽉初第⼀天select CONVERT(varchar(12) , DATEADD(mm,DATEDIFF(mm,0,dateadd(mm,-1,getdate())),0), 112 ) ---上个⽉⽉末最后⼀天select CONVERT(varchar(12),dateadd(ms,-3,DATEADD(mm,DATEDIFF(m,0,getdate()),0)), 112 )1.显⽰本⽉第⼀天SELECT DATEADD(mm,DATEDIFF(mm,0,getdate()),0)select convert(datetime,convert(varchar(8),getdate(),120)+'01',120)2.显⽰本⽉最后⼀天select dateadd(day,-1,convert(datetime,convert(varchar(8),dateadd(month,1,getdate()),120)+'01',120))SELECT dateadd(ms,-3,DATEADD(mm,DATEDIFF(m,0,getdate())+1,0))3.上个⽉的最后⼀天SELECT dateadd(ms,-3,DATEADD(mm,DATEDIFF(mm,0,getdate()),0))4.本⽉的第⼀个星期⼀iselect DATEADD(wk,DATEDIFF(wk,0, dateadd(dd,6-datepart(day,getdate()),getdate())),0)5.本年的第⼀天SELECT DATEADD(yy,DATEDIFF(yy,0,getdate()),0)6.本年的最后⼀天SELECT dateadd(ms,-3,DATEADD(yy,DATEDIFF(yy,0,getdate())+1,0))7.去年的最后⼀天SELECT dateadd(ms,-3,DATEADD(yy,DATEDIFF(yy,0,getdate()),0))8.本季度的第⼀天SELECT DATEADD(qq,DATEDIFF(qq,0,getdate()),0)9.本周的星期⼀SELECT DATEADD(wk,DATEDIFF(wk,0,getdate()),0)10.查询本⽉的记录select * from tableName where DATEPART(mm, theDate)=DATEPART(mm, GETDATE()) and DATEPART(yy, theDate)= DATEPART(yy, GETDATE())11.查询本周的记录select * from tableName where DATEPART(wk, theDate) = DATEPART (wk, GETDATE()) and DATEPART(yy, theDate) = DATEPART(yy, GETDATE())12查询本季的记录 注:其中:GETDATE()是获得系统时间的函数。

sqlserver日期函数

sqlserver日期函数

sqlserver日期函数
SQLServer日期函数是一类常用的数据库函数,可以实现对日期的各种处理。

它的函数可以实现日期的格式化、比较、加减等操作,有时也与其他类型的函数混合使用,以实现特殊的功能。

SQLServer的日期函数共分为8类,分别是:
1)DATEADD()函数:该函数用来对给定的一个日期值进行修改,以满足需求。

可以使用该函数对日期值进行加减,从而生成新的日期值。

2)DATEDIFF()函数:该函数可以用来求两个日期之间的间隔。

3)DATEPART()函数:该函数可以用来从一个日期中查询某一部分,如年、月、日、小时等。

4)DATENAME()函数:该函数用于查询日期中的文本名称,例如星期几或月份名称等。

5)GETDATE()函数:该函数返回当前的系统日期和时间值。

6)YEAR()函数:该函数返回执行查询时的年份。

7)MONTH()函数:该函数用于返回当前月份。

8)DAY()函数:该函数返回日期中的天数。

SQLServer日期函数可以实现一系列日期操作,在数据库开发过程中,可以多多使用日期函数来实现计算和处理日期,以便更好的实现功能。

SQLServer日期时间函数

SQLServer日期时间函数

SQLServer⽇期时间函数 1、获取当前⽇期GetDate getdate()函数以datetime数据类型的格式返回当前SQLServer服务器所在计算机的⽇期和时间。

其语法格式为getdate()。

返回值舍⼊到最近的秒⼩数部分,精度为.333秒数据库⼗七偏移量不包含在内。

⽰例: select getdate() --输出 2013-03-09 15:16:00.570 2、GetUTCDate 获取UTC时间值 select GETUTCDATE() -- 2013-06-18 08:02:53.253 这个获取到的是UTC时间。

3、获取年度信息YEAR year函数以int数据类型的格式返回特定⽇期的年度信息。

其语法格式为YEAR(date数据)。

其中的date数据时⼀个可以解析为time、date、smalldatetime、datetime、datetime2或datetimeoffset值的表达式,列表达式、⽤户定义的变量或字符串⽂字。

⽰例: select year(getdate()) --输出 2013 4、获取⽉份信息MONTH month函数以int数据类型的格式返回特定⽇期的⽉份信息。

其语法格式为month(date数据)。

其中的date数据时⼀个可以解析为time、date、smalldatetime、datetime、datetime2或datetimeoffset值的表达式,列表达式、⽤户定义的变量或字符串⽂字。

⽰例: select month(getdate()) --输出 3 5、获取天数信息day day函数以int数据类型的格式返回特定⽇期的天数信息。

其语法格式为day(date数据)。

其中的date数据时⼀个可以解析为time、date、smalldatetime、datetime、datetime2或datetimeoffset值的表达式,列表达式、⽤户定义的变量或字符串⽂字。

sql server 常用的函数

sql server 常用的函数

SQL Server 是一种关系型数据库管理系统,广泛应用于企业和个人的数据存储和管理。

在 SQL Server 中,函数是一种非常重要的功能,用于对数据进行处理和计算。

本文将介绍 SQL Server 中常用的函数,包括数学函数、字符串函数、日期时间函数等,并给出相应的示例和用法说明。

一、数学函数1. ABS():返回一个数的绝对值。

示例:SELECT ABS(-10) as Result;结果:102. ROUND():将一个数四舍五入到指定的小数位数。

示例:SELECT ROUND(3.14159, 2) as Result;结果:3.143. POWER():返回给定数的指定次幂。

示例:SELECT POWER(2, 3) as Result;结果:84. CEILING():返回大于或等于指定表达式的最小整数。

示例:SELECT CEILING(3.14) as Result;结果:45. FLOOR():返回小于或等于指定表达式的最大整数。

示例:SELECT FLOOR(3.14) as Result;结果:3二、字符串函数1. LEN():返回指定字符串的长度。

示例:SELECT LEN('Hello') as Result;结果:52. UPPER():将字符串转换为大写字母。

示例:SELECT UPPER('hello') as Result;结果:HELLO3. LOWER():将字符串转换为小写字母。

示例:SELECT LOWER('HELLO') as Result;结果:hello4. LEFT():返回字符串左边指定长度的子串。

示例:SELECT LEFT('Hello', 3) as Result;结果:Hel5. RIGHT():返回字符串右边指定长度的子串。

示例:SELECT RIGHT('Hello', 3) as Result;结果:llo三、日期时间函数1. GETDATE():返回当前的系统日期和时间。

sql server函数的使用方法及实例大全

sql server函数的使用方法及实例大全

sql server函数的使用方法及实例大全SQL Server是一种关系型数据库管理系统,它支持使用SQL语言进行数据库的操作。

SQL Server中内置了许多函数用于数据处理、转换、计算等操作。

本文将介绍SQL Server函数的使用方法,并提供一些常用函数的实例。

一、SQL Server函数的分类SQL Server函数可以分为以下几类:1.聚合函数:用于计算一组数据的总和、平均值、最大值、最小值等。

2.数学函数:用于执行数学运算,如四舍五入、计算绝对值、计算平方根等。

3.字符串函数:用于处理和操作字符串,如连接字符串、提取子串、转换大小写等。

4.日期和时间函数:用于处理日期和时间相关的操作,如获取当前日期、计算日期差值、格式化日期等。

5.系统函数:提供了一些与SQL Server系统相关的函数,如获取当前用户、获取当前数据库名称等。

二、SQL Server函数的使用方法1.调用函数:使用函数的一般语法是:函数名(参数1,参数2, ...),可以用于查询语句的SELECT子句、WHERE子句、ORDER BY子句等位置。

2.聚合函数的使用:聚合函数对一组数据进行计算,常用的聚合函数有SUM、AVG、MAX、MIN、COUNT等。

- SUM函数:用于计算某一列的总和。

实例:计算员工表中的薪水总和SELECT SUM(salary) FROM employee;- AVG函数:用于计算某一列的平均值。

实例:计算员工表中的平均薪水SELECT AVG(salary) FROM employee;- MAX函数:用于获取某一列的最大值。

实例:获取员工表中的最高薪水SELECT MAX(salary) FROM employee;- MIN函数:用于获取某一列的最小值。

实例:获取员工表中的最低薪水SELECT MIN(salary) FROM employee;- COUNT函数:用于计算某一列的行数。

sqlserver 字符串转时间函数

sqlserver 字符串转时间函数

sqlserver 字符串转时间函数SQL Server是一种常用的关系型数据库管理系统,它提供了许多内置的函数和操作符,用于处理和转换数据。

其中,字符串转时间函数是一项非常重要的功能,可以将存储为字符串格式的时间数据转换为日期时间格式,以便进行各种时间计算和比较操作。

在SQL Server中,常见的字符串转时间函数有CONVERT()和CAST()。

这两个函数可以将字符串转换为日期时间类型,以满足不同的需求。

我们来看一下CONVERT()函数。

它的语法如下:CONVERT(data_type, expression, style)其中,data_type表示要转换的目标数据类型,expression表示要转换的表达式或列名,style表示转换的格式。

对于字符串转时间的情况,常用的格式有以下几种:- 0或100:表示日期格式为"mon dd yyyy hh:miAM (or PM)",例如"Jan 1 2019 12:00AM"。

- 101:表示日期格式为"mm/dd/yyyy",例如"01/01/2019"。

- 120:表示日期格式为"yyyy-mm-dd hh:mi:ss",例如"2019-01-01 00:00:00"。

下面是一个使用CONVERT()函数将字符串转换为日期时间类型的示例:SELECT CONVERT(datetime, '2019-01-01 00:00:00', 120) AS ConvertedDateTime这个示例将字符串'2019-01-01 00:00:00'转换为日期时间类型,并将结果命名为ConvertedDateTime。

可以根据需要调整转换的格式。

另一个常用的字符串转时间函数是CAST()。

它的语法如下:CAST(expression AS data_type)其中,expression表示要转换的表达式或列名,data_type表示要转换的目标数据类型。

sqlserver函数大全及举例

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查询的复杂度,提高代码的可读性和复用性。

sqlserver 字符串转时间 非标准格式

sqlserver 字符串转时间 非标准格式

sqlserver 字符串转时间非标准格式在SQL Server中,我们经常遇到将字符串转换为日期和时间的需求。

通常情况下,SQL Server提供了标准的日期和时间格式转换函数,例如CONVERT和TRY_CONVERT。

但是有时候,我们可能会遇到非标准格式的日期和时间字符串,这时候我们需要使用其他方法来转换。

首先,让我们来了解一下SQL Server中的标准日期和时间格式,以便更好地理解非标准格式的转换。

在SQL Server中,标准的日期和时间格式包括以下几种:1. yyyy-MM-dd:年份-月份-日期2. dd/MM/yyyy:日期/月份/年份3. MM/dd/yyyy:月份/日期/年份4. yyyy-MM-dd HH:mm:ss:年份-月份-日期小时:分钟:秒5. yyyy-MM-ddTHH:mm:ss:年份-月份-日期THH:mm:ss这些是SQL Server中常用的标准日期和时间格式,可直接使用CONVERT函数将字符串转换为日期和时间类型。

例如,使用CONVERT函数将字符串'2022-01-01'转换为日期类型:```sqlSELECT CONVERT(DATE, '2022-01-01') AS ConvertedDate;```在这个例子中,我们使用CONVERT函数将字符串'2022-01-01'转换为DATE类型,并将结果命名为ConvertedDate。

然而,对于非标准格式的日期和时间字符串,我们需要使用一些其他的方法来进行转换。

在SQL Server中,我们可以使用CAST函数将字符串转换为日期和时间类型,但是它要求字符串的格式必须符合SQL Server的日期和时间格式。

如果字符串的格式不符合标准格式,我们可以使用SUBSTRING函数和字符串操作来提取日期和时间的各个部分,并使用这些部分来构建一个符合标准格式的字符串,然后再进行转换。

SQLSERVER常用日期转换函数

SQLSERVER常用日期转换函数

SQLSERVER常⽤⽇期转换函数常⽤⽇期转换常⽤⽇期函数1. CONVERT⽇期格式轉換(年⽉⽇时分秒毫秒):SELECT CONVERT(VARCHAR(100), GETDATE(), 120); --【120】2011-03-15 10:55:57(yyyy-MM-dd HH:mm:ss)SELECT CONVERT(VARCHAR(100), GETDATE(), 23); --【23】2020-09-29,【102】2020.09.29,【111】2020/09/29,【112】20200929 SELECT CONVERT(VARCHAR(100), GETDATE(), 24); --【24】11:46:53SELECT DATEDIFF(DAY, '2020-01-01', '2020-02-02') AS'間隔時間(天數)'; --31 获取两个⽇期之间的间隔(天數)SELECT GETDATE() AS'东⼋区时间', GETUTCDATE() AS'UTC时间'; --获取UTC时间(UTC時間⽐東⼋區時間早8⼩時)2. FORMAT⽇期格式轉換(年⽉⽇时分秒毫秒):DECLARE@DATE DATETIME=GETDATE();SELECT FORMAT(@DATE, 'D', 'EN-US') AS'US ENGLISH RESULT',FORMAT(@DATE, 'D', 'ZH-CN') AS'SIMPLIFIED CHINESE (PRC) RESULT',FORMAT(@DATE, 'yyyy-MM-dd') AS当前⽇期, --注意yyyy-MM-dd⼤⼩写FORMAT(@DATE, 'yyyy-MM-dd HH:mm:ss') AS当前时间, --注意MM或者dd单双的区别FORMAT(@DATE, 'yyyy-MM-dd HH:mm:ss.fff') AS当前时间,FORMAT(@DATE, 'yyyyMMddHHmmss') AS当前时间,FORMAT(@DATE, 'yyyyMMddHHmmssfff') AS当前时间,FORMAT(@DATE, 'yyyy年MM⽉dd⽇ HH时mm分ss秒') AS中⽂时间;3. 截取⽇期--截取⽇期:截取年、截取⽉、截取⽇、截取⼩时、截取分钟SELECT YEAR(GETDATE()) AS YEAR,MONTH(GETDATE()) AS MONTH,DAY(GETDATE()) AS DAY; --2011 3 15SELECT DATEPART(YEAR, GETDATE()) AS YEAR, -- 年 2018DATEPART(MONTH, GETDATE()) AS MONTH, -- ⽉ 12DATEPART(DAY, GETDATE()) AS DAY, -- ⽇ 1DATEPART(HOUR, GETDATE()) AS HOUR, -- 时 21DATEPART(MINUTE, GETDATE()) AS MINUTE, -- 分 02DATEPART(SECOND, GETDATE()) AS SECOND; -- 秒 33SELECT DATEFROMPARTS(2020, 12, 20) AS DATEVALUE; --2020-12-204. 周相关⽇期SELECT DATEADD(WK, DATEDIFF(WK, 0, GETDATE()), 0) AS星期⼀;--获取本周周⼀的⽇期SELECT DATEADD(WK, DATEDIFF(WK, 0, GETDATE()), 1) AS星期⼆;--获取本周周⼆的⽇期SELECT DATEADD(WK, DATEDIFF(WK, 0, GETDATE()), 6) AS星期⽇;--获取本周周⽇的⽇期5. 本相关⽇期--本⽉第⼀天、最后⼀天、下个⽉最后⼀天 EOMONTH 语法SELECT EOMONTH(GETDATE(), -1) AS'上⼀⽉最后⼀天',DATEADD(DAY, 1, EOMONTH(GETDATE(), -1)) AS'本⽉第⼀天',EOMONTH(GETDATE(), 0) AS'本⽉最后⼀天',EOMONTH(GETDATE(), 1) AS'下⼀⽉最后⼀天',EOMONTH(GETDATE(), 2) AS'下两⽉最后⼀天';--本⽉第⼀天SELECT DATEADD(MM, DATEDIFF(MM, 0, GETDATE()), 0)SELECT CONVERT(DATETIME, CONVERT(CHAR(6), GETDATE(), 112) +'01')SELECT CONVERT(VARCHAR(7), GETDATE(), 120) +'-01'; --2011-04-01--本⽉最后⼀天SELECT DATEADD(MS, -3, DATEADD(MM, DATEDIFF(M, 0, GETDATE()) +1, 0));SELECT DATEADD(DAY, -1, CONVERT(CHAR(6), DATEADD(MONTH, 1, GETDATE()), 112) +'01');SELECT CONVERT(VARCHAR(10), DATEADD(DAY, -1, CONVERT(CHAR(7), DATEADD(MONTH, 1, GETDATE()), 120) +'-01'), 120); --2011-04-30 --上⽉的最后⼀天SELECT DATEADD(MS, -3, DATEADD(MM, DATEDIFF(MM, 0, GETDATE()), 0));--本⽉的第⼀个星期⼀SELECT DATEADD (WK , DATEDIFF ( WK ,0 , DATEADD( DD , 6-DATEPART(DAY ,GETDATE ()), GETDATE()) ), 0)6. 季/年相关⽇期--季度第⼀天和最后⼀天SELECT DATEADD(QQ, DATEDIFF(QQ, 0, GETDATE()), 0);--获得当前是第⼏季度SELECT DATEPART (QUARTER ,GETDATE())--年第⼀天和最后⼀天SELECT DATEADD(YY, DATEDIFF(YY, 0, GETDATE()), 0);SELECT CONVERT (DATETIME ,CONVERT( CHAR( 4 ),GETDATE (), 120)+'0101' ) SELECT CONVERT (DATETIME ,CONVERT( CHAR( 4 ),GETDATE (), 120)+'1231' ) SELECT DATEADD(MS, -3, DATEADD(YY, DATEDIFF(YY, 0, GETDATE()) +1, 0)); --去年的最后⼀天SELECT DATEADD(MS, -3, DATEADD(YY, DATEDIFF(YY, 0, GETDATE()), 0));。

SqlServer、Oracle、MySQL日期格式化函数处理

SqlServer、Oracle、MySQL日期格式化函数处理

SqlServer、Oracle、MySQL⽇期格式化函数处理⽬录Sql ServerCONVERT ( '取数长度' , '时间' , '类型')查询对应时间: 2021-03-17T19:18:18.007Select CONVERT(varchar(100), GETDATE(), 0) -- 03 17 2021 7:18PMSelect CONVERT(varchar(100), GETDATE(), 1) -- 03/17/21Select CONVERT(varchar(100), GETDATE(), 2) -- 21.03.17Select CONVERT(varchar(100), GETDATE(), 3) -- 2017-3-21Select CONVERT(varchar(100), GETDATE(), 4) -- 17.03.21Select CONVERT(varchar(100), GETDATE(), 5) -- 2017-3-21Select CONVERT(varchar(100), GETDATE(), 6) -- 17 03 21Select CONVERT(varchar(100), GETDATE(), 7) -- 03 17, 21Select CONVERT(varchar(100), GETDATE(), 8) -- 19:18:18Select CONVERT(varchar(100), GETDATE(), 9) -- 03 17 2021 7:18:18:007PMSelect CONVERT(varchar(100), GETDATE(), 10) -- 03-17-21Select CONVERT(varchar(100), GETDATE(), 11) -- 2021-3-17Select CONVERT(varchar(100), GETDATE(), 12) -- 210317Select CONVERT(varchar(100), GETDATE(), 13) -- 17 03 2021 19:18:18:007Select CONVERT(varchar(100), GETDATE(), 14) -- 19:18:18:007Select CONVERT(varchar(100), GETDATE(), 20) -- 2021-3-17 19:18Select CONVERT(varchar(100), GETDATE(), 21) -- 18:18.0Select CONVERT(varchar(100), GETDATE(), 22) -- 03/17/21 7:18:18 PMSelect CONVERT(varchar(100), GETDATE(), 23) -- 2021-3-17Select CONVERT(varchar(100), GETDATE(), 24) -- 19:18:18Select CONVERT(varchar(100), GETDATE(), 25) -- 18:18.0Select CONVERT(varchar(100), GETDATE(), 100) -- 03 17 2021 7:18PMSelect CONVERT(varchar(100), GETDATE(), 101) -- 03/17/2021Select CONVERT(varchar(100), GETDATE(), 102) -- 2021.03.17Select CONVERT(varchar(100), GETDATE(), 103) -- 17/03/2021Select CONVERT(varchar(100), GETDATE(), 104) -- 17.03.2021Select CONVERT(varchar(100), GETDATE(), 105) -- 17-03-2021Select CONVERT(varchar(100), GETDATE(), 106) -- 17 03 2021Select CONVERT(varchar(100), GETDATE(), 107) -- 03 17, 2021Select CONVERT(varchar(100), GETDATE(), 108) -- 19:18:18Select CONVERT(varchar(100), GETDATE(), 109) -- 03 17 2021 7:18:18:007PMSelect CONVERT(varchar(100), GETDATE(), 110) -- 03-17-2021Select CONVERT(varchar(100), GETDATE(), 111) -- 2021-3-17Select CONVERT(varchar(100), GETDATE(), 112) -- 20210317Select CONVERT(varchar(100), GETDATE(), 113) -- 17 03 2021 19:18:18:007Select CONVERT(varchar(100), GETDATE(), 114) -- 19:18:18:007Select CONVERT(varchar(100), GETDATE(), 120) -- 2021-3-17 19:18Select CONVERT(varchar(100), GETDATE(), 121) -- 18:18.0Select CONVERT(varchar(100), GETDATE(), 126) -- 2021-03-17T19:18:18.007Select CONVERT(varchar(100), GETDATE(), 130) -- 4 1442 7:18:18:007PMSelect CONVERT(varchar(100), GETDATE(), 131) -- 4/08/1442 7:18:18:007PMOracle-- 字符串转时间类型SELECT to_date(SYSDATE,'yyyy-mm-dd hh24:mi:ss') FROM dual;-- 时间转指定格式字符串SELECT to_char(SYSDATE,'yyyy"年"mm"⽉"dd"⽇"') FROM DUAL;-- 年季⽉⽇取值select to_char(sysdate,'yyyy') from dual; --年select to_char(sysdate,'Q' from dual; --季select to_char(sysdate,'mm') from dual; --⽉select to_char(sysdate,'dd') from dual; --⽇-- Oracle 时间SELECT SYSDATE FROM dual; -- 系统时间SELECT SYSTIMESTAMP FROM dual; -- 当前系统时间戳SELECT CURRENT_TIMESTAMP FROM dual; -- 与时区设置有关,返回的秒是系统的,返回的⽇期和时间是根据时区转换过的SELECT current_date FROM dual; -- 是对CURRENT_TIMESTAMP准确到秒的四舍五⼊select TO_DATE('19700101','yyyymmdd') + 1235728935/86400 +TO_NUMBER(SUBSTR(TZ_OFFSET(sessiontimezone),1,3))/24 from dual,其中1235728935就是unix/linux时间戳,转换完之后就表⽰为 2009-2-27 18:02:15。

SqlServer中字符串和日期类型的转换

SqlServer中字符串和日期类型的转换
实例 下面的脚本使用 CONVERTห้องสมุดไป่ตู้) 函数来显示不同的格式。我们将使用 GETDATE() 函数来获得当前的日期/时间:
CONVERT(VARCHAR(19),GETDATE()) CONVERT(VARCHAR(10),GETDATE(),110) CONVERT(VARCHAR(11),GETDATE(),106) CONVERT(VARCHAR(24),GETDATE(),113) Dec 29 2008 11:45 PM 12-29-2008 29 Dec 08 29 Dec 2008 16:25:46.635
博客园 用户登录 代码改变世界 密码登录 短信登录 忘记登录用户名 忘记密码 记住我 登录 第三方登录/注册 没有账户, 立即注册
SqlServer中 字 符 串 和 日 期 类 型 的 转 换
SQL Server Date 函数 定义和用法 CONVERT() 函数是把日期转换为新数据类型的通用函数。 CONVERT() 函数可以用不同的格式显示日期/时间数据。 语法
CONVERT(data_type(length),data_to_be_converted,style)
data_type(length) 规定目标数据类型(带有可选的长度)。data_to_be_converted 含有需要转换的值。style 规定日期/时间的输出格式。 可以使用的 style 值:

SQLServer日期函数及日期转换数据类型

SQLServer日期函数及日期转换数据类型

SQLServer⽇期函数及⽇期转换数据类型⼀、统计语句1、--统计当前【>当天00点以后的数据】SELECT * FROM 表 WHERE CONVERT(Nvarchar, dateandtime, 111) = CONVERT(Nvarchar, GETDATE(), 111) ORDER BY dateandtime DESC2、--统计本周SELECT * FROM 表 WHERE datediff(week,[dateadd],getdate())=03、--统计本⽉SELECT * FROM 表 WHERE datediff(month,[dateadd],getdate())=04、统计当前SELECT * FROM 表 WHERE datediff(day,[dateadd],getdate())=0Select * From table with(nolock) Where Convert(varchar(10),[CreateTime],120) = Convert(varchar(10),getDate(),120)⼆、时间函数1、当前系统⽇期、时间select getdate()2、dateadd 在向指定⽇期加上⼀段时间的基础上,返回新的 datetime 值,例如:向⽇期加上2天select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.0003、datediff 返回跨两个指定⽇期的⽇期和时间边界数select datediff(day,'2004-09-01','2004-09-18') --返回:174、datepart 返回代表指定⽇期的指定⽇期部分的整数SELECT DATEPART(month, '2004-10-15') --返回 105、datename 返回代表指定⽇期的指定⽇期部分的字符串SELECT datename(weekday, '2004-10-15') --返回:星期五6、day(), month(),year() --可以与datepart对照⼀下select 当前⽇期=convert(varchar(10),getdate(),120),select 当前时间=convert(varchar(8),getdate(),114),select datename(dw,'2004-10-15')select 本年第多少周=datename(week,'2004-10-15'),select 今天是周⼏=datename(weekday,'2004-10-15')7、求相差天数select datediff(day,'2004-01-01',getdate())8、⼀个⽉第⼀天的SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)9、本周的星期⼀SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)select dateadd(wk,datediff(wk,0,getdate()),6)10、⼀年的第⼀天SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)11、季度的第⼀天SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)12、当天的半夜SELECT DATEADD(dd, DATEDIFF(dd,0,getdate()), 0)13、上个⽉的最后⼀天SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))14、去年的最后⼀天SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0))15、本⽉的最后⼀天SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))16、本年的最后⼀天SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0))17、本⽉的第⼀个星期⼀select DATEADD(wk, DATEDIFF(wk,0,dateadd(dd,6-datepart(day,getdate()),getdate())), 0) 18、查询本周注册⼈数select count(*) from [user]where datediff(week,create_day-1,getdate())=019、上周注册⼈数select count(*) from [user]where datediff(week,create_day-1,getdate())=120、本⽉注册⼈数select count(*) from [user]where datediff(month,create_day,getdate())=021、上⽉注册⼈数select count(*) from [user]where datediff(month,create_day,getdate())=1如果要效率,⽤⼀下⽅式22、查询本周注册⼈数select count(*) from [user]where create_day>=dateadd(day,2-datepart(weekday,getdate()),convert(varchar,getdate(),112)) and create_day<dateadd(day,9-datepart(weekday,getdate()),convert(varchar,getdate(),112)) 23、上周注册⼈数select count(*) from [user]where create_day>=dateadd(day,-5-datepart(weekday,getdate()),convert(varchar,getdate(),112)) and create_day<dateadd(day,2-datepart(weekday,getdate()),convert(varchar,getdate(),112)) 24、本⽉注册⼈数select count(*) from [user]where create_day>=dateadd(day,1-day(getdate()),convert(varchar,getdate(),112))and create_day<dateadd(month,1,dateadd(day,1-day(getdate()),convert(varchar,getdate(),112))) 25、上⽉注册⼈数select count(*) from [user]where create_day>=dateadd(month,-1,dateadd(day,1-day(getdate()),convert(varchar,getdate(),112))) and create_day<dateadd(day,1-day(getdate()),convert(varchar,getdate(),112))26、本周select count(*) from Userwhere datediff(dd,create_day,getdate()) <= datepart(dw,getdate())27、上周select count(*) from Userwhere datediff(dd,create_day,(getdate() - datepart(dw,getdate()))) <= 728、本⽉select count(*) from Userwhere datepart(mm,create_day) = datepart(mm,getdate())29、上⽉select count(*) from Userwhere datepart(mm,create_day) = datepart(mm,getdate()) - 130、本周注册⼈数select count(*) from [User]where datediff(dd,create_day,getdate()) <= datepart(dw,getdate())31、上周注册⼈数select count(*) from [User]where datediff(dd,create_day,(getdate() - datepart(dw,getdate()))) <= 732、本⽉注册⼈数select count(*) from [User]where datepart(mm,create_day) = datepart(mm,getdate())33、上⽉注册⼈数select count(*) from [User]where datepart(mm,create_day) = datepart(mm,getdate()) - 134、查询今⽇所有SELECT * from feedback WHERE (DATEDIFF(d,fedtime,GETDATE())=0) ORDER BY fedid DESC month(create_day)=month(getdate())本⽉month(create_day)=month(getdate())-1 上⽉今天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=0昨天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=17天内的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())<=730天内的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())<=30本⽉的所有数据:select * from 表名 where DateDiff(mm,datetime类型字段,getdate())=0本年的所有数据:select * from 表名 where DateDiff(yy,datetime类型字段,getdate())=0系统函数:系统函数函数参数/功能GetDate( )返回系统⽬前的⽇期与时间DateDiff (interval,date1,date2)以interval 指定的⽅式,返回date2 与date1两个⽇期之间的差值 date2-date1DateAdd (interval,number,date)以interval指定的⽅式,加上number之后的⽇期DatePart (interval,date)返回⽇期date中,interval指定部分所对应的整数值DateName (interval,date)返回⽇期date中,interval指定部分所对应的字符串名称参数 interval的设定值:值缩写(Sql Server)Access 和 ASP说明Year Yy yyyy年 1753 ~ 9999Quarter Qq q季 1 ~ 4Month Mm m⽉1 ~ 12Day of yearDy y⼀年的⽇数,⼀年中的第⼏⽇ 1-366Day Dd d⽇,1-31Weekday Dw w⼀周的⽇数,⼀周中的第⼏⽇ 1-7Week Wk ww周,⼀年中的第⼏周 0 ~ 51Hour Hh h时0 ~ 23Minute Mi n分钟0 ~ 59Second Ss s秒 0 ~ 59Millisecond Ms-毫秒 0 ~ 999access 和 asp 中⽤date()和now()取得系统⽇期时间;其中DateDiff,DateAdd,DatePart也同是能⽤于Access和asp中,这些函数的⽤法也类似举例:1.GetDate() ⽤于sql server :select GetDate()2.DateDiff('s','2005-07-20','2005-7-25 22:56:32')返回值为 514592 秒DateDiff('d','2005-07-20','2005-7-25 22:56:32')返回值为 5 天3.DatePart('w','2005-7-25 22:56:32')返回值为 2 即星期⼀(周⽇为1,周六为7)DatePart('d','2005-7-25 22:56:32')返回值为 25即25号DatePart('y','2005-7-25 22:56:32')返回值为 206即这⼀年中第206天DatePart('yyyy','2005-7-25 22:56:32')返回值为 2005即2005年Sql 取当天或当⽉的记录表中的时间格式是这样的:2007-02-02 16:50:08.050, 如果直接和当天的时间⽐较,就总得不到准确数据,但是我们可以把这种格式的时间[格式化]成 2007-02-02,也就是只有年-⽉-⽇,然后把当天的时间也格式化成年-⽉-⽇的格式.这样,思路就出来了!我们格式化⽇期要⽤到 Convert()这个函数,要⽤到3个参数,⾸先来格式化当天的⽇期,Convert(varchar(10),getDate(),120)这样我们就可以把当天的⽇期格式化为: 2007-2-2,然后格式化数据库表中的⽇期Convert(varchar(10),TimeFiled,120),最后我们就可以⽤⼀条Sql语句得到当天的数据了.例如:转⾃⽹络程序代码Select * From VIEW_CountBill Where Convert(varchar(10),[time],120) = Convert(varchar(10),getDate(),120)注意:Convert()函数中的各个参数的意义,第⼀个参数,varchar(10)是⽬标系统所提供的数据类型,包括 bigint 和 sql_variant。

sqlserverdate函数

sqlserverdate函数

sqlserverdate函数SQL Server中有多个与日期相关的函数和运算符,用于处理日期和时间数据。

下面是一些常用的SQL Server日期函数。

1.GETDATE(:返回当前日期和时间。

2.SYSDATETIME(:返回当前日期和时间,包括毫秒。

3.DATEPART(:用于从日期和时间表达式中提取指定的日期部分,如年、月、日、小时、分钟等。

4.DATEADD(:用于在给定的日期上增加或减少指定的时间间隔,如年、月、日、小时、分钟等。

例如:SELECT DATEADD(YEAR, 1, GETDATE() AS NextYear;--返回当前日期加上一年后的结果。

5.DATEDIFF(:用于计算两个日期之间的差距,返回的结果可以是年、月、日、小时、分钟等。

例如:SELECT DATEDIFF(DAY, '2024-01-01', GETDATE() AS DaysPassed;--返回从特定日期到当前日期的天数。

6.EOMONTH(:返回指定日期所在月份的最后一天。

例如:SELECT EOMONTH('2024-07-15') AS LastDayOfMonth;--返回指定日期所在月份的最后一天的日期。

7.FORMAT(:用于将日期和时间格式化为指定的格式。

例如:SELECT FORMAT(GETDATE(, 'yyyy/MM/dd HH:mm:ss') AS FormattedDate;--返回当前日期和时间的指定格式。

8.CAST(:用于将一个数据类型转换为另一个数据类型,包括日期和时间类型。

例如:SELECT CAST('2024-07-15' AS DATETIME) AS DateValue;--将字符串转换为日期类型。

9.CONVERT(:与CAST(函数类似,用于将一个数据类型转换为另一个数据类型,包括日期和时间类型。

sqlserver中DateName()函数及DatePart()函数

sqlserver中DateName()函数及DatePart()函数

sqlserver中DateName()函数及DatePart()函数Datepart():返回代表指定⽇期的指定⽇期部分的整数语法:Datepart(datepart,date) 返回类型:intDateName():返回代表指定⽇期的指定⽇期部分的字符串语法:DateName(datepart,date) 返回类型:nvarchar⽇期部分缩写备注year yy, yyyy年quarter qq, q季度month mm, m⽉dayofyear dy, y⼀年中的第⼏天day dd, d⽇week wk, ww⼀年中的第⼏周weekday dw⽇期部分返回对应于星期中的某天的数,例如:Sunday =1星期⼏Hour hh⼩时minute mi, n分钟second ss, s秒millisecond ms毫秒select GETDATE() as'当前⽇期时间',DateName(year,GetDate())+'-'+DateName(month,GetDate())+'-'+DateName(day,GetDate()) as'当前⽇期', DateName(quarter,GetDate()) as'第⼏季度',DateName(week,GetDate()) as'⼀年中的第⼏周',DateName(DAYOFYEAR,GetDate()) as'⼀年中的第⼏天',DateName(year,GetDate()) as'年',DateName(month,GetDate()) as'⽉',DateName(day,GetDate()) as'⽇',DateName(hour,GetDate()) as'时',DateName(minute,GetDate()) as'分',DateName(second,GetDate()) as'秒',DateName(MILLISECOND,GetDate()) as'豪秒',DateName(WEEKDAY,GetDate()) as'星期⼏'select GETDATE() as'当前⽇期时间',DatePart(year,GetDate())+'-'+DatePart(month,GetDate())+'-'+DatePart(day,GetDate()) as'当前⽇期', DatePart(quarter,GetDate()) as'第⼏季度',DatePart(week,GetDate()) as'⼀年中的第⼏周',DatePart(DAYOFYEAR,GetDate()) as'⼀年中的第⼏天',DatePart(year,GetDate()) as'年',DatePart(month,GetDate()) as'⽉',DatePart(day,GetDate()) as'⽇',DatePart(hour,GetDate()) as'时',DatePart(minute,GetDate()) as'分',DatePart(second,GetDate()) as'秒',DatePart(MILLISECOND,GetDate()) as'豪秒',DatePart(WEEKDAY,GetDate()) as'星期⼏'查询结果:注意:1)因为DatePart返回类型为int类型,所以当前⽇期的结果是做了运算的结果2)在多数SQL SERVER 英⽂版本中(以及部分繁体版),SELECT DATENAME(month, getdate()) 得到字符串类型的 January ;⽽在简体中⽂版中:SELECT DATENAME(month, getdate()) 得到字符串类型的 01⽽SELECT DATEPART(month,getdate())则在所有版本中都得到 int类型的 13)SELECT DATENAME(weekday, getdate()) 得到“星期X”SELECT DATEPART(weekday, getdate()) 得到星期对应的数字,⼀(1)/⼆(2)/三(3).。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Sqlserver常见字符串/日期处理函数
1:字符串比较函数
①:charindex(<’substring_expression’>,<expression>)
其中substring _expression 是所要查找的字符,expression 可为字符串也可为列名表达式。

如果没有发现子串,则返回值。

select charindex('弹弹堂',title)from news--每行title列里面‘弹弹堂’出现的位置
select charindex('异界逍遥','abcd异界逍遥')--结果:5
②:PATINDEX (<’%substring _expression%’>,<expression>)
定义和charindex相同,区别:PA TINDEX函数支持使用通配符,可以用在很多有变化的查找中。

而CHARINDEX不可以
--匹配含有‘异界’的字符串
select patindex('%异界%','abcd异界逍遥')--结果:5
--匹配以‘异界’开头的字符串
select patindex('异界%','abcd异界逍遥')--结果:0
select patindex('异界%','异界逍遥')--结果:1
--匹配含有‘Bread’或‘bread’的字符串
select patindex('%[b,B]read%','eat bread Bread')--结果:5
2:字符串处理函数
①:STUFF(<character_expression1>,<start_ position>,<length>,<character_expression2>) 用另一子串替换字符串指定位置、长度的子串。

select STUFF('abcdefg',1, 2,'什么')--结果:什么cdefg
select STUFF(title,1, 2,'什么')from news where id<6--把每行title列的字符串从位置开始算起的个字符替换成‘什么’
②:REPLACE (<string_expression1>,<string_expression2>,<string_expression3>)
用string_expression3 替换在string_expression1 中的子串string_expression2(如果找不到string_expression2就原样输出string_expression1)。

select replace('C#.NET','.','and')--结果:C#andNET
③:SUBSTRING (<expression>,<starting_ position>,length)
返回从字符串左边第starting_ position 个字符起length个字符的部分。

select substring('C#.NET',1,2)--结果:C#
④:left(<character_expression>,<integer_expression>)
返回character_expression 左起integer_expression 个字符
right(<character_expression>,<integer_expression>)同理
select left('123456',3)--结果:123
⑤:LOWER()将字符串全部转为小写;UPPER()将字符串全部转为大写。

select lower('ddQAA')--结果:ddqaa
select upper('UUUlove')--结果:UUULOVE
3:去空格函数
LTRIM() 把字符串头部的空格去掉。

RTRIM() 把字符串尾部的空格去掉。

select ltrim(' abc')
select rtrim('abc ')
4:数据类型转换函数
①:CAST (<expression> AS <data_ type>[ length ])
select1+'a'--错误:在数据库里面数字类型和字符类型的数据是无法做字符串连接的,要先把数字类型的转换一下
select cast(1 as varchar)+'a'--结果:1a
②:CONVERT (<data_ type>[ length ],<expression>,[style])
select convert(varchar(10),getdate(),120)--结果:2012-06-05
5:日期函数
①:day(date_expression):返回date_expression中的日期值
②:month(date_expression):返回date_expression中的月份值
③:year(date_expression):返回date_expression中的年份值
④:DA TEADD (<datepart>,<number>,<date>)
返回指定日期date 加上指定的额外日期间隔number 产生的新日期。

select dateadd(month,2,'2004-10-15')--结果:-12-15 00:00:00.000
select dateadd(day,2,'2004-10-15')--结果:-10-17 00:00:00.000
⑤:DA TEDIFF (<datepart>,<date1>,<date2>)
返回两个指定日期在datepart 方面的不同之处,即date2 超过date1的差距值,其结果值是一个带有正负号的整数值。

select datediff(day,'2004-09-01','2004-09-18')--结果:17
⑥:DA TENAME (<datepart>,<date>)
以字符串的形式返回日期的指定部分此部分。

由datepart 来指定。

SELECT datename(weekday,'2012-06-05')--结果:星期二
SELECT datename(dd,'2012-06-05')--结果:5
⑦:DA TEPART (<datepart>,<date>)
以整数值的形式返回日期的指定部分。

此部分由datepart 来指定。

DA TEPART (dd,date) 等同于DAY (date)
DA TEPART (mm,date) 等同于MONTH (date)
-DATEPART (yy,date) 等同于YEAR (date)
select datepart(dd,'2012-6-3')--结果:3
⑧:GETDATE():获取当前时间。

相关文档
最新文档