SQL Server常用函数汇总
1.day(date)
用途:获取日期是所在月的几号
参数:date是一个可以解析为 time、date、smalldatetime、datetime、datetime2 或 datetimeoffset 值的表达式、列表达式、用户定义的变量或字符串文字
返回值:一个整数,该整数表示指定的 date 是该月份的哪一天
eg:
day(getdate()) --获取当前时间是当前月份的哪一天
扩展:
select CONVERT(VARCHAR(10),DATEADD(dd,-day(getdate())+1,getdate()),120) --获取当月的开始日期
select CONVERT(VARCHAR(10),dateadd(dd,-day(getdate()),dateadd(m,1,getdate())),120) --获取当月的结束日期
2.DATEFIRST
用途:设置一周是以星期几开始
语法:SET DATEFIRST {Num}
参数:num是一个数值, 指示一周的第一天的一个整数。 可以是下列值之一。
-
值
一周的第一天是
1
星期一
2
星期二
3
星期三
4
星期四
5
星期五
6
星期六
7 (默认值,美国英语)
星期日
eg:
SET DATEFIRST 1
注释:
(1)若要查看 SET DATEFIRST 的当前设置,请使用 @@DATEFIRST 函数。
eg:
SELECT @@DATEFIRST
(2)SET DATEFIRST 的设置是在执行或运行时设置,而不是在分析时设置。
(3)指定 SET DATEFIRST 对 DATEDIFF 不起作用。 DATEDIFF 始终使用星期日作为每周的第一天,以确保函数是确定性的。
3.DATEPART()
用途: DATEPART() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等
语法:DATEPART(datepart,date)
参数:date 参数是合法的日期表达式。datepart 参数可以是下列的值:
| datepart | 缩写 |
|---|---|
| 年 | yy, yyyy |
| 季度 | qq, q |
| 月 | mm, m |
| 年中的日 | dy, y |
| 日 | dd, d |
| 周 | wk, ww |
| 星期 | dw, w |
| 小时 | hh |
| 分钟 | mi, n |
| 秒 | ss, s |
| 毫秒 | ms |
| 微妙 | mcs |
| 纳秒 | ns |
eg:
SET DATEFIRST 1 --设置一周的开始为星期一
select datepart(w,getdate())
扩展:
SET DATEFIRST 1 --设置一周的开始为星期一
select CONVERT(VARCHAR(10),getdate()-datepart(w,getdate())+1,120) --当前日前所在周的开始日期
select CONVERT(VARCHAR(10),getdate()-datepart(w,getdate())+7 ,120) --当前日前所在周的结束日期
4.SQL中的两种数据转换方式
语法:CAST ( expression AS data_type [ ( length ) ] )
CONVERT ( data_type [ ( length ) ] , expression [ , style ] ) 参数:expression:任何有效的表达式。
data_type :目标数据类型。 这包括 xml、bigint 和 sql_variant。 不能使用别名数据类型。
length:指定目标数据类型长度的可选整数。 默认值为 30。
style:指定 CONVERT 函数如何转换 expression 的整数表达式。 如果 style为 NULL,则返回 NULL。 该范围是由 data_type 确定的。
返回值:转换为 data_type 的 expression。
注释:convert中data_type为日期时间类型时,style的集中类型如下表
|
不带世纪数位 (yy) (1) |
带世纪数位 (yyyy) |
标准 |
输入/输出 (3) |
||
|---|---|---|---|---|---|
|
- |
0 或100(1、2) |
默认 |
mon dd yyyy hh:miAM(或 PM) |
||
|
1 |
101 |
美国 |
1 = mm/dd/yy 101 = mm/dd/yyyy |
||
|
2 |
102 |
ANSI |
2 = yy.mm.dd 102 = yyyy.mm.dd |
||
|
3 |
103 |
英国/法国 |
3 = dd/mm/yy 103 = dd/mm/yyyy |
||
|
4 |
104 |
德国 |
4 = dd.mm.yy 104 = dd.mm.yyyy |
||
|
5 |
105 |
意大利 |
5 = dd-mm-yy 105 = dd-mm-yyyy |
||
|
6 |
106 (1) |
- |
6 = dd mon yy 106 = dd mon yyyy |
||
|
7 |
107 (1) |
- |
7 = Mon dd, yy 107 = Mon dd, yyyy |
||
|
8 |
108 |
- |
hh:mi:ss |
||
|
- |
9 或109(1、2) |
默认格式 + 毫秒 |
mon dd yyyy hh:mi:ss:mmmAM(或 PM) |
||
|
10 |
110 |
美国 |
10 = mm-dd-yy 110 = mm-dd-yyyy |
||
|
11 |
111 |
日本 |
11 = yy/mm/dd 111 = yyyy/mm/dd |
||
|
12 |
112 |
ISO |
12 = yymmdd 112 = yyyymmdd |
||
|
- |
13 或113(1、2) |
欧洲默认格式 + 毫秒 |
dd mon yyyy hh:mi:ss:mmm(24h) |
||
|
14 |
114 |
- |
hh:mi:ss:mmm(24h) |
||
|
- |
20 或 120 (2) |
ODBC 规范 |
yyyy-mm-dd hh:mi:ss(24h) |
||
|
- |
21 或 121 (2) |
ODBC 规范(带毫秒) |
yyyy-mm-dd hh:mi:ss.mmm(24h) |
||
|
- |
126 (4) |
ISO8601 |
yyyy-mm-ddThh:mi:ss.mmm(无空格)
|
||
|
- |
127(6, 7) |
带时区 Z 的 ISO8601。 |
yyyy-mm-ddThh:mi:ss.mmmZ(无空格)
|
||
|
- |
130 (1,2) |
回历 (5) |
dd mon yyyy hh:mi:ss:mmmAM 在此样式中,mon 表示完整月份名称的多标记回历 unicode 表示形式。 该值在 SSMS 的默认 US 安装中将不会正确呈现。 |
||
|
- |
131 (2) |
回历 (5) |
dd/mm/yyyy hh:mi:ss:mmmAM |
eg:
SELECT
GETDATE() AS UnconvertedDateTime,
CAST(GETDATE() AS nvarchar()) AS UsingCast,
CONVERT(nvarchar(), GETDATE(), ) AS 'ODBC 规范' ,
CONVERT(nvarchar(), GETDATE(), ) AS 'ODBC 规范(带毫秒' ;
GO
5.DATEDIFF()
语法:DATEDIFF(datepart,startdate,enddate)
参数:startdate 和 enddate 参数是合法的日期表达式。
注释:datepart 参数可以是下列的值:
| datepart | 缩写 |
|---|---|
| 年 | yy, yyyy |
| 季度 | qq, q |
| 月 | mm, m |
| 年中的日 | dy, y |
| 日 | dd, d |
| 周 | wk, ww |
| 星期 | dw, w |
| 小时 | hh |
| 分钟 | mi, n |
| 秒 | ss, s |
| 毫秒 | ms |
| 微妙 | mcs |
| 纳秒 | ns |
SQL Server常用函数汇总的更多相关文章
- SQL Server 常用函数使用方法
之前就想要把一些 SQL 的常用函数记录下来, 直到今天用到substring()这个函数,C# 里面这个方法起始值是 0,而 SQL 里面起始值是 1.傻傻分不清楚... 这篇博客作为记录 SQL ...
- Oracle 与Sql Server常用函数对比
来自:http://topic.csdn.net/u/20080704/08/b2b8c42f-b0d6-4cda-98b1-6e4a279b4ff8.html 感谢楼主 函数 SQLServer和O ...
- SQL Server 常用函数总结
SQL去空格函数 1.ltrim(‘内容’)--去掉字符左边的空格 代码如下 declare @str varchar(100) set @str=' ADFADF' select @str sele ...
- SQL Server 常用函数使用方法(持续更新)
之前就想要把一些 SQL 的常用函数记录下来,不过一直没有实行...嘿嘿... 直到今天用到substring()这个函数,C# 里面这个方法起始值是 0,而 SQL 里面起始值是 1.傻傻分不清楚. ...
- sql server常用函数、常用语句
一.常用函数 1.字符串函数 : charindex(':','abc:123') --寻找一个字符在一段字符串中起始的位置 len('zhangsan') --获取一段字符串的长度 lef ...
- Sql Server常用函数及技巧
使用Sql Server好长时间了,今天特别想总结一下,算是回顾吧! 总结: 其实很多技巧,都是基于SQL Server自带的System Views,System Stored Procedures ...
- SQL Server 常用函数
1.DATEADD 在向指定日期加上一段时间的基础上,返回新的 datetime 值. 语法 DATEADD ( datepart , number, date ) 参数 datepart 是规定应向 ...
- SQL SERVER常用语法汇总
阅读目录 一.SQL分类 二.基础语句 三.sql技巧 四.(MS SQL Server)SQL语句导入导出大全 回到目录 一.SQL分类 DDL—数据定义语言(CREATE,ALTER,DROP,D ...
- SQL Server常用函数使用方法(学习)
1.转载至 https://www.cnblogs.com/Brambling/p/6779434.html Substring()函数,用于截取字符串方法,三个参数 参数1:用于指定要操作的字符串 ...
随机推荐
- [Oracle] enq: TX - row lock contention 优化案例
依据开发反馈.近期每天早上7:30应用会报警.应用的日志显示数据库连接池满了.新的连接被拒绝. 首先.我做了ASH报告(报告区间:7:25 ~ 7:35),从ASH的等待事件发现enq: TX - r ...
- Docker 私有仓库最简便的搭建方法
http://blog.csdn.net/wangtaoking1/article/details/44180901/ Docker学习笔记 — Docker私有仓库搭建http://www.jian ...
- spring in action第一章小结1
1 spring基本理念是简化java开发. 使用以下4个策略简化java开发 1) 基于POJO的轻量级和最小侵入性编程 2)通过使用DI和AOP实现松耦合 3)基于切面和惯例进行声明式编程 4)通 ...
- java 容器结构
先来看下层次关系. 如图所示:图中,实线边框的是实现类,折线边框的是抽象类,而点线边框的是接口 Collection(接口)├──List(接口)│ ├──LinkedList(实现类)│ ├ ...
- TCP协议的三次握手和四次挥手过程
TCP是一种面向连接(连接导向)的.可靠的基于字节流的传输层通信协议.TCP将用户数据打包成报文段,它发送后启动一个定时器,另一端收到的数据进行确认.对失序的数据重新排序.丢弃重复数据. 1.TCP/ ...
- 跟着百度学PHP[14]-PDO之Mysql的事务处理2
前面所将仅仅是在纯mysql下的讲解,这节就是要将其搬到PDO台面上来了. 将自动提交关闭. SetAttribute下有一个PDO::ATTR_AUTOCOMMIT 将其设置为0即可关闭,如:$pd ...
- oracle instant client,tnsping,tnsnames.ora和ORACLE_HOME
前段时间要远程连接oracle数据库,可是又不想在自己电脑上完整安装oracleclient,于是到oracle官网下载了轻量级clientinstant client. 这玩意没有图形界面,全靠sq ...
- 【批量加入】-拼接sql字符串
如今做的一个项目须要用到批量加入,可是封装的底层没有这种方法,所以自食其力,自己来写.我们用的是拼接sql字符串的方法来实现功能. 详细实现流程:首先将须要的数据存储到实体的list中,然后将这个li ...
- C++ STL标准模板库(stack)
//stack的使用 #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<stack> using name ...
- MySQL Migration Toolkit启动报jre错误
正常启动的话,会报出“an error occurred during the initialization of the runtime system.Please make sure you ha ...
注意