百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

SQL获取年月日方法(sql获取当前年月日时分秒)

csdh11 2025-03-26 11:10 13 浏览

sql 如何取日期中的年月

需要设置函数公式select * from 表名 where Convert(varchar(10),日期字段,120)='2008-12-15'即可输出。

如获取年月日,设置 select CONVERT(varchar(100), GETDATE(), 23)输出2017-03-06 ,

如需获取年月select CONVERT(varchar(7), GETDATE(), 120)输出变为2017-03。


获取年月日如下:

方法一:利用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

相关推荐

NUS邵林团队发布DexSinGrasp基于强化学习实现物体分离与抓取统一

本文的作者均来自新加坡国立大学LinSLab。本文的共同第一作者为新加坡国立大学实习生许立昕和博士生刘子轩,主要研究方向为机器人学习和灵巧操纵,其余作者分别为硕士生桂哲玮、实习生郭京翔、江泽宇以及...

「PLC进阶」如何通过编写SCL语言程序实现物料分拣?

01、前言SCL作为IEC61131-3编程语言的一种,由于其高级语言的特性,特别适合复杂运算、复杂数学函数应用的场合。本文以FactoryIO软件中的物料分拣案例作为硬件基础,介绍如何通过SCL来实...

zk源码—5.请求的处理过程一(http1.1请求方法)

大纲1.服务器的请求处理链...

自己动手从0开始实现一个分布式 RPC 框架

前言为什么要自己写一个RPC框架,我觉得从个人成长上说,如果一个程序员能清楚的了解RPC框架所具备的要素,掌握RPC框架中涉及的服务注册发现、负载均衡、序列化协议、RPC通信协议、Socket通信、异...

MLSys’25 | 极低内存消耗:用SGD的内存成本实现AdamW的优化性能

AIxiv专栏是机器之心发布学术、技术内容的栏目。过去数年,机器之心AIxiv专栏接收报道了2000多篇内容,覆盖全球各大高校与企业的顶级实验室,有效促进了学术交流与传播。如果您有优秀的工作想要分享,...

线程池误用导致系统假死(线程池会自动销毁吗)

背景介绍在项目中,为了提高系统性能使用了RxJava实现异步方案,其中异步线程池是自建的。但是当QPS稍微增大之后却发现系统假死、无响应和返回,调用方出现大量超时现象。但是通过监控发现,系统线程数正常...

大型乘用车工厂布局规划(六大乘用车基地)

乘用车工厂的布局规划直接影响生产效率、物流成本、安全性和未来扩展能力。合理的布局应确保生产流程顺畅、物流高效、资源优化,并符合现代化智能制造和绿色工厂的要求。以下是详细的工厂布局规划要点:1.工厂布...

西门子 S7-200 SMART PLC 连接Factory IO的方法

有很多同学不清楚如何西门子200smart如何连接FactoryIO,本教程为您提供了如何使用西门子S7-200SMARTPLC连接FactoryIO的说明。设置PC和PLC之间的...

西门子博图高级仿真软件的应用(西门子博途软件仿真)

1.博图高级仿真软件(S7-PLCSIMAdvancedV2.0)S7-PLCSIMAdvancedV2.0包含大量仿真功能,通过创建虚拟控制器对S7-1500和ET200SP控制器进行仿真...

PLC编程必踩的6大坑——请对号入座,评论区见

一、缺乏整体规划:面条式代码问题实例:某快递分拣线项目初期未做流程图设计,工程师直接开始编写传送带控制程序。后期增加质检模块时发现I/O地址冲突,电机启停逻辑与传感器信号出现3处死循环,导致项目延期2...

统信UOS无需开发者模式安装软件包
统信UOS无需开发者模式安装软件包

原文链接:统信UOS无需开发者模式安装软件包...

2025-05-05 14:55 csdh11

100个Java工具类之76:数据指纹DigestUtils

为了提高数据安全性,保证数据的完整性和真实性,DigestUtils应运而生。正确恰当地使用DigestUtils的加密算法,可以实现数据的脱敏,防止数据泄露或篡改。...

麒麟KYLINIOS软件仓库搭建02-软件仓库添加新的软件包

#秋日生活打卡季#原文链接:...

Java常用工具类技术文档(java中工具类的作用)

一、概述Java工具类(UtilityClasses)是封装了通用功能的静态方法集合,能够简化代码、提高开发效率。本文整理Java原生及常用第三方库(如ApacheCommons、GoogleG...

软路由的用法(自动追剧配置)(软路由教学)

本内容来源于@什么值得买APP,观点仅代表作者本人|作者:值友98958248861环境和需求...