sql 的实用函数(包含日期函数、截取字符串函数)

CONVERT() 函数是把日期转换为新数据类型的通用函数。

CONVERT() 函数可以用不同的格式显示日期/时间数据。

语法

CONVERT(data_type(length),data_to_be_converted,style)

data_type(length) 规定目标数据类型(带有可选的长度)。data_to_be_converted 含有需要转换的值。style 规定日期/时间的输出格式。

可以使用的 style 值:

Style IDStyle 格式
100 或者 0 mon dd yyyy hh:miAM (或者 PM)
101 mm/dd/yy
102 yy.mm.dd
103 dd/mm/yy
104 dd.mm.yy
105 dd-mm-yy
106 dd mon yy
107 Mon dd, yy
108 hh:mm:ss
109 或者 9 mon dd yyyy hh:mi:ss:mmmAM(或者 PM)
110 mm-dd-yy
111 yy/mm/dd
112 yymmdd
113 或者 13 dd mon yyyy hh:mm:ss:mmm(24h)
114 hh:mi:ss:mmm(24h)
120 或者 20 yyyy-mm-dd hh:mi:ss(24h)
121 或者 21 yyyy-mm-dd hh:mi:ss.mmm(24h)
126 yyyy-mm-ddThh:mm:ss.mmm(没有空格)
130 dd mon yyyy hh:mi:ss:mmmAM
131 dd/mm/yy hh:mi:ss:mmmAM

实例

下面的脚本使用 CONVERT() 函数来显示不同的格式。我们将使用 GETDATE() 函数来获得当前的日期/时间:GETDATE()也可以换成对应的字段

CONVERT(VARCHAR(19),GETDATE())
CONVERT(VARCHAR(10),GETDATE(),110) 
CONVERT(VARCHAR(11),GETDATE(),106)
CONVERT(VARCHAR(24),GETDATE(),113)

 

http://www.cnblogs.com/miaoying/p/5173324.html

--日期函数--
--GETDATE()获取当前系统日期
SELECT GETDATE()
SELECT GETDATE()+4 --加四天
SELECT DATEADD(mm,2,GETDATE())--加两个月
--DATEDIFF():找出两个日期的差异
SELECT DATEDIFF(yy,'1990-1-1',GETDATE())
--DATENAME():日期中指定日期部分的字符串形式
SELECT DATENAME(dw,GETDATE())--得到星期几
SELECT CAST( DATEPART(yyyy,GETDATE()) AS char(4))+'-'+CAST(DATEPART(mm,GETDATE())AS CHAR(2))+'-'+CAST( DATEPART(dd,GETDATE()) AS CHAR(2))
+'-'+CAST(DATEPART(hh,GETDATE())AS CHAR(2))+'-'+CAST(DATEPART(mi,GETDATE())AS CHAR(2))--日期不是字符串,所以要进行格式的转换

 

SELECT '1'+'1dsa'
SELECT CHARINDEX('woshi','woshimiaoyinga')--获得索引,sql的索引从1开始,而不是0
SELECT LEN('woshi是妙用')--获得字符串长度
SELECT LOWER('hdsAAAAAj')--将大写改为小写
SELECT UPPER('saieuDHSJAK')--将小写改为大写
SELECT REPLACE('hj回家撒谎的精神科好烦cja','h','m')--将字符串指定子字符串换为自定义的 如:h换为m
SELECT LTRIM(' sdahjhd ')--去掉左边空格
SELECT RTRIM(' sadhjd ')--去掉右边空格

--参数可以大于字符串的长度,但不可以是负值
SELECT RIGHT('sdhj啥空间和电视剧看',1)--从右边开始取出指定位数的子字符串
SELECT LEFT('sadmhfjh',3)

--取出邮箱的名称和域名
SELECT LEFT('miaoying.new@qq.com',12)
SELECT RIGHT('miaoying.new@qq.com',6)

SELECT RAND(10) --随机数
SELECT ABS(122234) --绝对值
SELECT CEILING(1.999) --得到比当前数大的最小整数
SELECT FLOOR(1.999)--得到比当前数小的最大整数
SELECT ROUND(1.4534545,1)--只关注小数点后一位
SELECT POWER(2,3)--表示2的3次方

 

posted @ 2016-09-20 16:19  wonderfulviews  阅读(8758)  评论(0编辑  收藏  举报