CONVERT() 函数是把日期转换为新数据类型的通用函数。
CONVERT() 函数可以用不同的格式显示日期/时间数据。
语法
CONVERT(data_type(length),data_to_be_converted,style)
data_type(length) 规定目标数据类型(带有可选的长度)。data_to_be_converted 含有需要转换的值。style 规定日期/时间的输出格式。
可以使用的 style 值:
Style ID | Style 格式 |
---|---|
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)
--日期函数--
--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开始,而不是0SELECT LEN('woshi是妙用')--获得字符串长度SELECT LOWER('hdsAAAAAj')--将大写改为小写SELECT UPPER('saieuDHSJAK')--将小写改为大写SELECT REPLACE('hj回家撒谎的精神科好烦cja','h','m')--将字符串指定子字符串换为自定义的 如:h换为mSELECT 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次方