博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sql 的实用函数(包含日期函数、截取字符串函数)
阅读量:5257 次
发布时间:2019-06-14

本文共 2133 字,大约阅读时间需要 7 分钟。

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开始,而不是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次方

 

转载于:https://www.cnblogs.com/whl4835349/p/5889298.html

你可能感兴趣的文章
android permission
查看>>
【译】在Asp.Net中操作PDF - iTextSharp - 使用字体
查看>>
.net 文本框只允许输入XX,(正则表达式)
查看>>
android smack MultiUserChat.getHostedRooms( NullPointerException)
查看>>
03 线程池
查看>>
设计模式课程 设计模式精讲 2-2 UML类图讲解
查看>>
Silverlight 的菜单控件。(不是 Toolkit的)
查看>>
jquery的contains方法
查看>>
linux后台运行和关闭SSH运行,查看后台任务
查看>>
桥接模式-Bridge(Java实现)
查看>>
303. Range Sum Query - Immutable
查看>>
C# Dynamic通用反序列化Json类型并遍历属性比较
查看>>
前台freemark获取后台的值
查看>>
Spring-hibernate整合
查看>>
exit和return的区别
查看>>
Django 相关
查看>>
Python(软件目录结构规范)
查看>>
codeforces水题100道 第二十二题 Codeforces Beta Round #89 (Div. 2) A. String Task (strings)
查看>>
c++||template
查看>>
条件断点 符号断点
查看>>