SQL获取年月日方法
方法一:利用DATENAME
在SQL数据库中,DATENAME(datetype,date)函数的作用是从日期中提取指定部分数据,其返回类型是nvarchar.datetype类型见附表1.
SELECT DATENAME(year,GETDATE())+'-'+ DATENAME(MONTH,GETDATE())+'-'+ DATENAME(DAY,GETDATE())
SELECT DATENAME(yyyy,GETDATE())+'-'+ DATENAME(MM,GETDATE())+'-'+ DATENAME(dd,GETDATE())
方法二:利用CONVERT
CONVERT(type(length),date,style) 函数是把日期转换为新数据类型的通用函数,可以用不同的格式显示日期/时间数据。style类型见附表2,另附件3为CONVERT()用法
SELECT CONVERT(VARCHAR(20),YEAR(GETDATE())) +'-'+ CONVERT(VARCHAR(20),MONTH(GETDATE()))+'-'+ CONVERT(VARCHAR(20),DAY(GETDATE()))
SELECT CONVERT(VARCHAR(20),GETDATE(),23)
下面说两种不能错误方法:
SELECT YEAR(GETDATE()) +'-'+ MONTH(GETDATE()) +'-'+ DAY(GETDATE())
SELECT DATEPART(yyyy,GETDATE())+'-'+ DATEPART(MM,GETDATE())+'-'+ DATEPART(dd,GETDATE())
因为YEAR(),MONTH(),DAY(),DATEPART()返回值都是INT类型,所以结果是相加
附表1
日期部分 |
缩写 |
year | yy, yyyy |
quarter | qq, q |
month | mm,m |
dayofyear | dy, y |
day | dd,d |
week | wk,ww |
weeekday | dw |
hour | hh |
minute | mi,n |
second | ss,s |
millisecond | ms |
附表2
style(2位表年份) | style(4位表年份) | Style 格式 |
100或0 | mon dd yyyy hh:miAM (或者 PM) | |
1 | 101 美国 | mm/dd/yy |
2 | 102 ANSI | yy.mm.dd |
3 | 103 英法 | dd/mm/yy |
4 | 104 德国 | dd.mm.yy |
5 | 105 意大利 | dd-mm-yy |
6 | 106 | dd mon yy |
7 | 107 | Mon dd, yy |
108或8或24 | hh:mm:ss(无年份月日) | |
109或9 | mon dd yyyy hh:mi:ss:mmmAM(或者 PM) | |
10 | 110 美国 | mm-dd-yy |
11 | 111 日本 | yy/mm/dd |
12 | 112 ISO | yymmdd |
113或13 欧洲默认 | dd mon yyyy hh:mm:ss:mmm(24h) | |
14 | 114 | hh:mi:ss:mmm(24h)(无年份月日) |
120或20 ODBC | yyyy-mm-dd hh:mi:ss(24h) | |
121或21或25 | yyyy-mm-dd hh:mi:ss.mmm(24h) | |
23 | yyyy-mm-dd | |
126 | yyyy-mm-ddThh:mm:ss.mmm(没有空格) | |
130 | dd mon yyyy hh:mi:ss:mmmAM | |
131 | dd/mm/yy hh:mi:ss:mmmAM |
附件3 CONVERT()用法
SELECT CONVERT(varchar(100), GETDATE(), 0)-- 08 25 2017 10:26AM
SELECT CONVERT(varchar(100), GETDATE(), 100)--08 25 2017 10:26AM
SELECT CONVERT(varchar(100), GETDATE(), 1)-- 08/25/17
SELECT CONVERT(varchar(100), GETDATE(), 101)--08/25/2017
SELECT CONVERT(varchar(100), GETDATE(), 2)-- 17.08.25
SELECT CONVERT(varchar(100), GETDATE(), 102)--2017.08.25
SELECT CONVERT(varchar(100), GETDATE(), 3)-- 25/08/17
SELECT CONVERT(varchar(100), GETDATE(), 103)--25/08/2017
SELECT CONVERT(varchar(100), GETDATE(), 4)-- 25.08.17
SELECT CONVERT(varchar(100), GETDATE(), 104)--25.08.2017
SELECT CONVERT(varchar(100), GETDATE(), 5)-- 25-08-17
SELECT CONVERT(varchar(100), GETDATE(), 105)--25-08-2017
SELECT CONVERT(varchar(100), GETDATE(), 6)-- 25 08 17
SELECT CONVERT(varchar(100), GETDATE(), 106)--25 08 2017
SELECT CONVERT(varchar(100), GETDATE(), 7)-- 08 25, 17
SELECT CONVERT(varchar(100), GETDATE(), 107)--08 25, 2017
SELECT CONVERT(varchar(100), GETDATE(), 8)-- 10:25:11
SELECT CONVERT(varchar(100), GETDATE(), 108)--10:25:11
SELECT CONVERT(varchar(100), GETDATE(), 9)-- 08 25 2017 10:25:54:397AM
SELECT CONVERT(varchar(100), GETDATE(), 109)--08 25 2017 10:25:54:397AM
SELECT CONVERT(varchar(100), GETDATE(), 10)-- 08-25-17
SELECT CONVERT(varchar(100), GETDATE(), 110)--08-25-2017
SELECT CONVERT(varchar(100), GETDATE(), 11)-- 17/08/25
SELECT CONVERT(varchar(100), GETDATE(), 111)--2017/08/25
SELECT CONVERT(varchar(100), GETDATE(), 12)--
SELECT CONVERT(varchar(100), GETDATE(), 112)--
SELECT CONVERT(varchar(100), GETDATE(), 13)-- 25 08 2017 10:30:25:533
SELECT CONVERT(varchar(100), GETDATE(), 113)--25 08 2017 10:30:25:533
SELECT CONVERT(varchar(100), GETDATE(), 14)-- 10:31:18:553
SELECT CONVERT(varchar(100), GETDATE(), 114)--10:31:18:553
SELECT CONVERT(varchar(100), GETDATE(), 20)-- 2017-08-25 10:31:18
SELECT CONVERT(varchar(100), GETDATE(), 120)--2017-08-25 10:31:18
SELECT CONVERT(varchar(100), GETDATE(), 21)-- 2017-08-25 10:32:22.950
SELECT CONVERT(varchar(100), GETDATE(), 121)--2017-08-25 10:32:22.950
SELECT CONVERT(varchar(100), GETDATE(), 22)-- 08/25/17 10:32:22 AM SELECT CONVERT(varchar(100), GETDATE(), 23)-- 2017-08-25 SELECT CONVERT(varchar(100), DATEADD(hh,12,GETDATE()), 8)-- 10:25:11
SELECT CONVERT(varchar(100), DATEADD(hh,12,GETDATE()), 108)--10:25:11
SELECT CONVERT(varchar(100), DATEADD(hh,12,GETDATE()), 24)-- 10:33:38 SELECT CONVERT(varchar(100), DATEADD(hh,12,GETDATE()), 21)-- 2017-08-25 10:32:22.950
SELECT CONVERT(varchar(100), DATEADD(hh,12,GETDATE()), 121)--2017-08-25 10:32:22.950
SELECT CONVERT(varchar(100), DATEADD(hh,12,GETDATE()), 25)-- 2017-08-25 10:33:49.947 SELECT CONVERT(varchar(100), GETDATE(), 126)--2017-08-25T10:34:39.913
SELECT CONVERT(varchar(100), GETDATE(), 130)--3 ?? ????? 1438 10:34:52:140AM
SELECT CONVERT(varchar(100), GETDATE(), 131)--3/12/1438 10:35:01:460AM
SQL获取年月日方法的更多相关文章
- Java 获取年月日方法
package com.ob; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util ...
- 获取年月日格式为yyyy-m-d简单写法
方法:通过日期函数toLocaleString()获取.new Date().toLocaleString( ); //"2019/9/1 上午11:20:23" 获取年月日方法 ...
- SQL获取当月天数的几种方法
原文:SQL获取当月天数的几种方法 日期直接减去int类型的数字 等于 DATEADD(DAY,- 数字,日期) 下面三种方法: 1,日期加一个月减去当前天数,相当于这个月最后一天的日期.然后获取天数 ...
- Sql 中获取年月日时分秒的函数
getdate():获取系统当前时间 dateadd(datepart,number,date):计算在一个时间的基础上增加一个时间后的新时间值,比如:dateadd(yy,30,getdate()) ...
- EFCore执行Sql语句的方法:FromSql与ExecuteSqlCommand
前言 在EFCore中执行Sql语句的方法为:FromSql与ExecuteSqlCommand:在EF6中的为SqlQuery与ExecuteSqlCommand,而FromSql和SqlQuery ...
- 在php中防止SQL注入的方法
摘要:我们php手手工安装的,php的默认配置文件在 /usr/local/apache2/conf/php.ini,我们最主要就是要配置php.ini中的内容,让我们执行 php能够更安全.整个PH ...
- 7 -- Spring的基本用法 -- 10... 获取其他Bean的属性值;获取Field值;获取任意方法的返回值
7.10 高级依赖关系配置 组件与组件之间的耦合,采用依赖注入管理:但基本类型的成员变量值,应直接在代码中设置. Spring支持将任意方法的返回值.类或对象的Field值.其他Bean的getter ...
- 使用sql获取primary key名称
使用sql获取mysql主键名称: 方法1: 这种方法返回一行数据,如果只是需要主键的名称,可以使用方法2. SHOW KEYS FROM <table_name> WHERE Key_n ...
- sql---字段类型转换,sql获取当前时间
一.字段类型转换 convert(要转换成的数据类型,字段名称)例如 convert(varchar(100),col_name)Convert(int,Order_no) 二.sql获取当前时间 s ...
随机推荐
- Thanks for your encourage!
将近三个月的学习,我的努力换回了代表荣誉的小黄衫,这令我很开心啊...我想是不是要写点什么来表达自己的心情呢=,= 于是就有了以下文字ahhhhhh... 学习心得: (1)学习中总会有失败和成功, ...
- git status 下中文显示乱码问题解决
$ git status -s ?? "\350\257\264\346\230\216.txt\n $ printf & ...
- xtrabackup: error: last checkpoint LSN (3409281307) is larger than last copied LSN (3409274368). #2
1.错误发生场景:使用2.4.1版本的xtrabackup工具进行全备,备份日志中报出此错误2.知识要点:MySQL中,redo 日志写进程会在三种条件下被触发从log buffer中写日志到redo ...
- 刷题总结——松鼠的新家(bzoj3631)
题目: Description 松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的.天哪,他居然真的住在“树”上. ...
- [NOIP2017] 逛公园 (最短路,动态规划&记忆化搜索)
题目链接 Solution 我只会60分暴力... 正解是 DP. 状态定义: \(f[i][j]\) 代表 \(1\) 到 \(i\) 比最短路长 \(j\) 的方案数. 那么很显然最后答案也就是 ...
- bzoj3730 [震波][动态树分治+线段树+LCA]
震波 Time Limit: 15 Sec Memory Limit: 256 MBSubmit: 1573 Solved: 358[Submit][Status][Discuss] Descri ...
- Django自定义User模型和登录验证
用户表已存在(与其他App共用),不能再使用Django内置的User模型和默认的登录认证.但是还想使用Django的认证框架(真的很方便啊). 两个步骤: 1)自定义Use模型,为了区分系统的Use ...
- python算法与数据结构-顺序表(37)
1.顺序表介绍 顺序表是最简单的一种线性结构,逻辑上相邻的数据在计算机内的存储位置也是相邻的,可以快速定位第几个元素,中间不允许有空,所以插入.删除时需要移动大量元素.顺序表可以分配一段连续的存储空间 ...
- 【kindeditor】kindeditor的使用
官网:http://kindeditor.net/demo.php 效果:
- linux下 open fopen区别
open是linux下的底层系统调用函数,fopen与freopen c/c++下的标准I/O库函数,带输入/输出缓冲.linxu下的fopen是open的封装函数,fopen最终还是要调用底层的系统 ...