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 ...
随机推荐
- javascript学习笔记 - 引用类型 RegExp
四 RegExp 格式: var expression = / pattern / flags; 1.flags 为标志.分别为g.i.m. g:表示全局模式.即模式将匹配所有的字符串,而不是在发现第 ...
- 【bzoj2563】阿狸和桃子的游戏 贪心
题目描述 阿狸和桃子正在玩一个游戏,游戏是在一个带权图G=(V, E)上进行的,设节点权值为w(v),边权为c(e).游戏规则是这样的:1. 阿狸和桃子轮流将图中的顶点染色,阿狸会将顶点染成红色,桃子 ...
- 【P2387】魔法森林(SPFA非正解)
题目链接 不会LCTqwq,看题解似乎SPFA也可以. 把边按a排序,从小到大每加一条边就以b为距离跑一遍SPFA,类似于Kruskal的想法吧…… 貌似是个暴力 (luoguLCT模块的题我都快通过 ...
- HDU——1395 2^x mod n = 1(取模运算法则)
2^x mod n = 1 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) To ...
- iOS-跨界面传值和跨应用传值
跨界面传值 从一个界面将一个结果值传到另一个界面,这个是我们在开发过程中非常常见的一个问题.传值本身并不是一个太复杂的问题,在此主要简述一下常用的传值方法. 我们传值常用的方法主要有四种: 1.属性传 ...
- 推荐个PMP的内容,广州有需要的朋友可以参考看看
慧翔天地PMP®培训机构简介 广州慧翔企业管理咨询有限公司注册于2012年8月14日,注册资金200万元人民币.实际上从2011年就已经开始从事PMP推广及教学工作(2010年曾代理智鼎东方华南市场, ...
- PHP基础知识练习
1 . PHP 指的是?(C ) A.Private Home Page B.Personal Hypertext Processor C.PHP: Hypertext Preprocessor D. ...
- LeetCode OJ-- Trapping Rain Water*
https://oj.leetcode.com/problems/trapping-rain-water/ 模拟题,计算出在凹凸处存水量. 对于一个位置 i ,分别计算出它左边的最大值 left (从 ...
- ELK之收集haproxy日志
由于HAProxy的运行信息不写入日志文件,但它依赖于标准的系统日志协议将日志发送到远程服务器(通常位于同一系统上),所以需要借助rsyslog来收集haproxy的日志.haproxy代理nginx ...
- ELK之收集Java日志、通过TCP收集日志
1.Java日志收集 使用codec的multiline插件实现多行匹配,这是一个可以将多行进行合并的插件,而且可以使用what指定将匹配到的行与前面的行合并还是和后面的行合并. 语法示例: inpu ...