Sql语言中的日期格式化

日期格式化

View Code
 1 lect CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
 2 Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06
 3 Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16
 4 Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06
 5 Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06
 6 Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06
 7 Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06
 8 Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06
 9 Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46
10 Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM
11 Select CONVERT(varchar(100), GETDATE(), 10): 05-16-06
12 Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16
13 Select CONVERT(varchar(100), GETDATE(), 12): 060516
14 Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937
15 Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967
16 Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47
17 Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157
18 Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM
19 Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
20 Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47
21 Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250
22 Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM
23 Select CONVERT(varchar(100), GETDATE(), 101): 05/16/2006
24 Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.16
25 Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006
26 Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2006
27 Select CONVERT(varchar(100), GETDATE(), 105): 16-05-2006
28 Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2006
29 Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006
30 Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49
31 Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM
32 Select CONVERT(varchar(100), GETDATE(), 110): 05-16-2006
33 Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16
34 Select CONVERT(varchar(100), GETDATE(), 112): 20060516
35 Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513
36 Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547
37 Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49
38 Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700
39 Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827
40 Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM
41 Select CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM
42 
43 常用:
44 Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46
45 Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47
46 Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49
47 Select CONVERT(varchar(100), GETDATE(), 12): 060516
48 Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
复制代码
-------------------------日期时间类型---------------------------------

---T-SQL YEAR,MONTH,DAY函数均一INT 数据类型的格式返回特定日期的年度信息.
SELECT 'YEAR NUMBER' = YEAR(GETDATE())
SELECT 'YEAR NUMBER' = MONTH(GETDATE())
SELECT 'YEAR NUMBER' = DAY(GETDATE())


--获取日期时间值部分DATEPART
DATEPART(DATEPART,DATE数据)
--DATEPART : 特定的要返回的数据的格式代码
--date数据: 一个可以解析为TIME ,DATE ,SMALLDATETIME,DATETIME DATETIME2的值的表达式、列表达式、用户定义的变量或字符串文字


SELECT DATEPART(YEAR,GETDATE()) AS '年份1'
SELECT DATEPART(YYYY,GETDATE()) AS '年份2'
SELECT DATEPART(YY,GETDATE()) AS '年份3'

-- 日期加法DATEADD
-- DATEADD函数将某个日期加上一个特定的时间间隔值后返回 DATETIME数据类型的值
--1语法
DATEADD(DATEPART,NUMBER,DATE数据)

select top 100 indate 订单日期,DATEADD(DAY,14,InDate) '相加后的日期' , * from dbo.SOMaster with(nolock)
order by InDate

/*
订单日期                相加后的日期
2010-09-23 00:11:59.000    2010-10-07 00:11:59.000
2010-09-23 00:12:29.000    2010-10-07 00:12:29.000
2010-09-23 00:12:57.000    2010-10-07 00:12:57.000
2010-09-23 00:21:21.000    2010-10-07 00:21:21.000
2010-09-23 00:23:57.000    2010-10-07 00:23:57.000
2010-09-23 00:27:06.000    2010-10-07 00:27:06.000
2010-09-23 00:32:11.000    2010-10-07 00:32:11.000
2010-09-23 00:47:11.000    2010-10-07 00:47:11.000
2010-09-23 00:47:33.000    2010-10-07 00:47:33.000
2010-09-23 00:48:10.000    2010-10-07 00:48:10.000
*/

--日期减法


select top 10 indate 订单日期,DATEDIFF(DAY,InDate,'2010-10-10 00:00:00.000') '相减后的日期' 
from dbo.SOMaster with(nolock)
order by InDate
/*
订单日期               相减后的日期
2010-09-23 00:11:59.000        17
2010-09-23 00:12:29.000        17
2010-09-23 00:12:57.000        17
2010-09-23 00:21:21.000        17
2010-09-23 00:23:57.000        17
2010-09-23 00:27:06.000        17
2010-09-23 00:32:11.000        17
2010-09-23 00:47:11.000        17
2010-09-23 00:47:33.000        17
2010-09-23 00:48:10.000        17
*/
  
SELECT SYSDATETIME()   --获取系统时间
union all
select SYSDATETIMEOFFSET()  --获取当前日期和时间


--判断是否为日期数据isdate(expression)  --若表达式为有效的日期数据:1 ,否则: 0
 ----select ISDATE(OrderId) from ShippingOrderExtend WITH(NOLOCK)  where OrderId=1019506
declare @aa int
select isdate(@aa)

/*************************************************************************/


--获取字符的ASCII码ASCII 
--ASCII码是对字符的标准编码。要获取字符的ASCII码就可以通过调用ASCII函数来实现

SET NOCOUNT ON 
--获取ASCII码起始位置临时变量
DECLARE @beginposition int

--定义字符串变量,存储要获取ASCII码的字符串
DECLARE @TempString varchar(100)

--初始化变量
SET @beginposition = 1
SET @TempString = 'dancewithwave@163.com'
--对字符串中的每个字符循环执行ASCII函数
WHILE @beginposition < = DATALENGTH(@TempString)
    BEGIN 
    SELECT ASCII ( SUBSTRING ( @TempString , @beginposition , 1 ) ),
    CHAR(  ASCII ( SUBSTRING ( @TempString , @beginposition , 1 ) ))
    
    SET @beginposition = @beginposition + 1
    END
SET NOCOUNT OFF
GO
    
posted @ 2012-12-26 16:28  翠儿  阅读(521)  评论(0编辑  收藏  举报