有关Sql语言中的日期格式化,供大家参考。
常用:
SelectCONVERT(varchar(100),GETDATE(),8):10:57:46
SelectCONVERT(varchar(100),GETDATE(),24):10:57:47
SelectCONVERT(varchar(100),GETDATE(),108):10:57:49
SelectCONVERT(varchar(100),GETDATE(),12):060516
SelectCONVERT(varchar(100),GETDATE(),23):2006-05-16
-------------------------日期时间类型---------------------------------
---T-SQLYEAR,MONTH,DAY函数均一INT数据类型的格式返回特定日期的年度信息.
SELECT'YEARNUMBER'=YEAR(GETDATE())
SELECT'YEARNUMBER'=MONTH(GETDATE())
SELECT'YEARNUMBER'=DAY(GETDATE())
--获取日期时间值部分DATEPART
DATEPART(DATEPART,DATE数据)
--DATEPART:特定的要返回的数据的格式代码
--date数据:一个可以解析为TIME,DATE,SMALLDATETIME,DATETIMEDATETIME2的值的表达式、列表达式、用户定义的变量或字符串文字
SELECTDATEPART(YEAR,GETDATE())AS'年份1'
SELECTDATEPART(YYYY,GETDATE())AS'年份2'
SELECTDATEPART(YY,GETDATE())AS'年份3'
--日期加法dateadd
--DATEADD函数将某个日期加上一个特定的时间间隔值后返回DATETIME数据类型的值
--1语法
DATEADD(DATEPART,NUMBER,DATE数据)
selecttop100indate订单日期,DATEADD(DAY,14,InDate)'相加后的日期',*fromdbo.SOMasterwith(nolock)
orderbyInDate
/*
订单日期相加后的日期
2010-09-2300:11:59.0002010-10-0700:11:59.000
2010-09-2300:12:29.0002010-10-0700:12:29.000
2010-09-2300:12:57.0002010-10-0700:12:57.000
2010-09-2300:21:21.0002010-10-0700:21:21.000
2010-09-2300:23:57.0002010-10-0700:23:57.000
2010-09-2300:27:06.0002010-10-0700:27:06.000
2010-09-2300:32:11.0002010-10-0700:32:11.000
2010-09-2300:47:11.0002010-10-0700:47:11.000
2010-09-2300:47:33.0002010-10-0700:47:33.000
2010-09-2300:48:10.0002010-10-0700:48:10.000
*/
--日期减法
selecttop10indate订单日期,datediff(DAY,InDate,'2010-10-1000:00:00.000')'相减后的日期'
fromdbo.SOMasterwith(nolock)
orderbyInDate
/*
订单日期相减后的日期
2010-09-2300:11:59.00017
2010-09-2300:12:29.00017
2010-09-2300:12:57.00017
2010-09-2300:21:21.00017
2010-09-2300:23:57.00017
2010-09-2300:27:06.00017
2010-09-2300:32:11.00017
2010-09-2300:47:11.00017
2010-09-2300:47:33.00017
2010-09-2300:48:10.00017
*/
SELECTSYSDATETIME()--获取系统时间
unionall
selectSYSDATETIMEOFFSET()--获取当前日期和时间
--判断是否为日期数据isdate(expression)--若表达式为有效的日期数据:1,否则:0
----selectISDATE(OrderId)fromShippingOrderExtendWITH(NOLOCK)whereOrderId=1019506
declare@aaint
selectisdate(@aa)
/--------------------------------/
--获取字符的ASCII码ASCII
--ASCII码是对字符的标准编码。要获取字符的ASCII码就可以通过调用ASCII函数来实现
SETNOCOUNTON
--获取ASCII码起始位置临时变量
DECLARE@beginpositionint
--定义字符串变量,存储要获取ASCII码的字符串
DECLARE@TempStringvarchar(100)
--初始化变量
SET@beginposition=1
SET@TempString='dancewithwave@163.com'
--对字符串中的每个字符循环执行ASCII函数
WHILE@beginposition<=DATALENGTH(@TempString)
BEGIN
SELECTASCII(SUBSTRING(@TempString,@beginposition,1)),
CHAR(ASCII(SUBSTRING(@TempString,@beginposition,1)))
SET@beginposition=@beginposition+1
END
SETNOCOUNTOFF
GO