精华内容
下载资源
问答
  • SQLServer 数据库语句:日期/时间格式转换语句示例。
  • Sql日期时间格式转换

    2014-12-09 09:57:47
    Sql日期时间格式转换 大全 能用到的基本上都有了
  • 介绍了Sql日期时间格式转换,有需要的朋友可以参考一下
  • SpringBoot设置后台向前台传递Date日期格式 在springboot应用中,@RestController注解的json默认序列化中,日期格式默认为:2020-12-03T15:12:26.000+00:00类型的显示。 在实际显示中,我们需要对其转换成我们需要...

    1. SpringBoot设置后台向前台传递Date日期格式

    在springboot应用中,@RestController注解的json默认序列化中,日期格式默认为:2020-12-03T15:12:26.000+00:00类型的显示。
    在这里插入图片描述
    在实际显示中,我们需要对其转换成我们需要的显示格式。

    1.1 方式1:配置文件修改

    配置文件配置application.yml

    spring:
      # 配置日期格式化
      jackson:
        date-format: yyyy-MM-dd HH:mm:ss  #时间戳统一转换为指定格式
        time-zone: GMT+8  # 时区修改为东8区
    

    application.properties配置方式

    spring.jackson.date-format=yyyy-MM-dd HH:mm:ss	#时间戳统一转换为指定格式
    spring.jackson.time-zone=GMT+8	# 时区修改为东8区
    

    【注意】这里需要修改时区time-zone:数据库默认时区是格林尼治的时间,如果不设置,会比实际时间少8个小时(北京时间)。

    1.2 方式2:在javabean实体类上加注解

    I. @JsonFormat注解

    @JsonFormat注解用于属性或方法上,将Date类型转换为我们需要的类型显示。

    	//在pattern上设置自己需要的格式
    	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
    	private Date createTime;
    

    II. @DateTimeFormat注解

    在需要进行日期格式转换的Date属性上添加注解@DateTimeFormat(pattern = "需要转换的格式")

      //注解将yyyy-MM-dd的形式转换为Date数据
      @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
      private Date birthday;
    

    III. @Temporal注解

    通过@Temporal注解,实现日期格式转换,它自带属性参数,比如:

    @Temporal注解参数作用
    TemporalType.DATE@Temporal(TemporalType.DATE),会得到yyyy-MM-dd格式的日期形式。
    TemporalType.TIME@Temporal(TemporalType.TIME),会得到HH:MM:SS格式的时间形式。
    TemporalType.TIMESTAMP@Temporal(TemporalType.TIMESTAMP),会得到yyyy-MM-dd hh:MM:ss格式的日期时间形式。
    @Temporal(TemporalType.TIMESTAMP)
    private Date createTime;
    


    2. SpringBoot配置全局日期格式转换器

    配置从页面接收的String和json格式的日期转换为Date类型。

    2.1 配置String类型表单传参转Date的转换器

    import org.springframework.core.convert.converter.Converter;
    import org.springframework.stereotype.Component;
    import org.springframework.util.StringUtils;
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.Date;
    import java.util.List;
    
    
    //Converter<S,T>  S: 代表的是源,将要转换的数据类型  T:目标类型,将会转成什么数据类型
    @Component
    public class GlobalFormDateConvert implements Converter<String, Date> {
    
        //静态初始化定义日期字符串参数列表(需要转换的)
        private static final List<String> paramList = new ArrayList<>();
    
        //静态初始化可能初夏你的日期格式
        private static final String param1 = "yyyy-MM";
        private static final String param2 = "yyyy-MM-dd";
        private static final String param3 = "yyyy-MM-dd HH:mm";
        private static final String param4 = "yyyy-MM-dd HH:mm:ss";
    
        //静态代码块,将日期参数加入到列表中
        static {
            paramList.add(param1);
            paramList.add(param2);
            paramList.add(param3);
            paramList.add(param4);
        }
    
        //自定义函数,将字符串转Date  参1:传入的日期字符串  参2:格式参数
        public Date parseDate(String source, String format) {
            System.out.println("parseDate转换日期");
            Date date = null;
            try {
                //日期格式转换器
                DateFormat dateFormat = new SimpleDateFormat(format);
                date = dateFormat.parse(source);
            } catch (Exception e) {
                e.printStackTrace();
            }
            return date;
        }
    
    
        //convert转换方法 ,s是将会传递过来的日期的字符串
        @Override
        public Date convert(String source) {
    
            System.out.println("convert日期格式转换器");
            if(StringUtils.isEmpty(source)){
                return null;
            }
            source = source.trim();   //去除首尾空格
            DateFormat dateFormat = new SimpleDateFormat(param1);
    
            //正则表达式判断是哪一种格式参数
            if (source.matches("^\\d{4}-\\d{1,2}$")) {
                return parseDate(source, paramList.get(0));
            } else if (source.matches("^\\d{4}-\\d{1,2}-\\d{1,2}$")) {
                return parseDate(source, paramList.get(1));
            } else if (source.matches("^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}$")) {
                return parseDate(source, paramList.get(2));
            } else if (source.matches("^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}:\\d{1,2}$")) {
                return parseDate(source, paramList.get(3));
            } else {
                throw new IllegalArgumentException("还未定义该种字符串转Date的日期转换格式 --> 【日期格式】:" + source);
            }
        }
    }
    

    2.2 配置Json数据转Date的全局日期转换器

    import java.text.FieldPosition;
    import java.text.ParsePosition;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import com.fasterxml.jackson.databind.util.StdDateFormat;
    import org.springframework.util.StringUtils;
    
    public class GlobalJsonDateConvert extends StdDateFormat {
    
        //静态初始化final,共享
        public static final GlobalJsonDateConvert instance = new GlobalJsonDateConvert();
    
        //覆盖parse(String)这个方法即可实现
        @Override
        public Date parse(String dateStr, ParsePosition pos) {
            return getDate(dateStr, pos);
        }
    
        @Override
        public Date parse(String dateStr) {
            ParsePosition pos = new ParsePosition(0);
            return getDate(dateStr, pos);
        }
    
        private Date getDate(String dateStr, ParsePosition pos) {
            System.out.println("json格式日期转换");
            SimpleDateFormat sdf = null;
            if (StringUtils.isEmpty(dateStr)) {
                return null;
            } else if (dateStr.matches("^\\d{4}-\\d{1,2}$")) {
                sdf = new SimpleDateFormat("yyyy-MM");
                return sdf.parse(dateStr, pos);
            } else if (dateStr.matches("^\\d{4}-\\d{1,2}-\\d{1,2}$")) {
                sdf = new SimpleDateFormat("yyyy-MM-dd");
                return sdf.parse(dateStr, pos);
            } else if (dateStr.matches("^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}$")) {
                sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
                return sdf.parse(dateStr, pos);
            } else if (dateStr.matches("^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}:\\d{1,2}$")) {
                sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                return sdf.parse(dateStr, pos);
            } else if (dateStr.length() == 23) {
                sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
                return sdf.parse(dateStr, pos);
            }
            return super.parse(dateStr, pos);
        }
    
        @Override
        public StringBuffer format(Date date, StringBuffer toAppendTo, FieldPosition fieldPosition){
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            return sdf.format(date, toAppendTo, fieldPosition);
        }
    
        @Override
        public GlobalJsonDateConvert clone() {
            return new GlobalJsonDateConvert();
        }
    }
    

    2.3 配置bean交给Spring管理

    import com.fasterxml.jackson.annotation.JsonInclude;
    import com.fasterxml.jackson.databind.ObjectMapper;
    import com.xgf.online_mall.convert.GlobalFormDateConvert;
    import com.xgf.online_mall.convert.GlobalJsonDateConvert;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.context.support.ConversionServiceFactoryBean;
    import org.springframework.core.convert.ConversionService;
    import org.springframework.core.convert.converter.Converter;
    import org.springframework.http.MediaType;
    import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
    
    import java.util.ArrayList;
    import java.util.List;
    import java.util.HashSet;
    import java.util.Set;
    
    
    @Configuration
    public class WebConfig {
    
        //JSON格式 全局日期转换器配置
        @Bean
        public MappingJackson2HttpMessageConverter getMappingJackson2HttpMessageConverter() {
            MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter();
            //设置日期格式
            ObjectMapper objectMapper = new ObjectMapper();
            objectMapper.setDateFormat(GlobalJsonDateConvert.instance);
            objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
            mappingJackson2HttpMessageConverter.setObjectMapper(objectMapper);
            //设置中文编码格式
            List<MediaType> list = new ArrayList<MediaType>();
            list.add(MediaType.APPLICATION_JSON_UTF8);
            mappingJackson2HttpMessageConverter.setSupportedMediaTypes(list);
            return mappingJackson2HttpMessageConverter;
        }
    
        //表单格式 全局日期转换器
    
        @Bean
        @Autowired
        public ConversionService getConversionService(GlobalFormDateConvert globalDateConvert){
            ConversionServiceFactoryBean factoryBean = new ConversionServiceFactoryBean();
            Set<Converter> converters = new HashSet<>();
            converters.add(globalDateConvert);
            factoryBean.setConverters(converters);
            return factoryBean.getObject();
        }
    }
    
    

    参考;博客园【NcQiao】大佬的文章:https://www.cnblogs.com/joelan0927/p/11715062.html

    展开全文
  • Sql Server日期格式转换

    2013-01-06 10:39:27
    Sql Server日期格式转换是我们在使用Sql Server数据库时经常用到的操作,下面就将为您举一个Sql Server日期格式转换的例子,供您参考,希望对您学习Sql Server日期格式转换有所帮助。
  • 主要介绍了pandas 时间格式转换的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • java中将毫秒值转时间格式,和时间格式转换毫秒值,
  • 将TLE数据中的日期时间格式转换成年月日时分秒格式,matlab源码。
  • html5 date日期格式转换

    2015-10-16 14:50:58
    之前在做app,ios程序员要求将html5的日期(2015年10月15日转换为2015-10-15),这里了用户的错觉来实现,简单粗暴
  • sql日期格式转换函数 In this article, we will explore various SQL Convert Date formats to use in writing SQL queries. 在本文中,我们将探索各种SQL转换日期格式,以用于编写SQL查询。 We need to ...

    sql日期格式转换函数

    In this article, we will explore various SQL Convert Date formats to use in writing SQL queries.

    在本文中,我们将探索各种SQL转换日期格式,以用于编写SQL查询。

    We need to work with date type data in SQL. It can be a complicated thing to deal with, at times, for SQL Server developers. Suppose you have a Product table with a column timestamp. It creates a timestamp for each customer order. You might face the following issues with it

    我们需要使用SQL中的日期类型数据。 对于SQL Server开发人员而言,有时可能会很复杂。 假设您有一个带有列时间戳的Product表。 它为每个客户订单创建一个时间戳。 您可能会遇到以下问题

    • You fail to insert data in the Product table because the application tries to insert data in a different date format

      您无法在“产品”表中插入数据,因为应用程序尝试以其他日期格式插入数据
    • Suppose you have data in a table in format YYYY-MM-DD hh:mm: ss. You have a daily Sales report, and in that, you want data group by date. You want to have data in the report in format YYYY-MM-DD

      假设表中的数据格式为YYYY-MM-DD hh:mm:ss。 您有一个每日销售报告,在该报告中,您需要按日期分组数据。 您希望报表中的数据格式为YYYY-MM-DD

    We do face many such scenarios when we do not have date format as per our requirement. We cannot change table properties to satisfy each requirement. In this case, we need to use the built-in-functions in SQL Server to give the required date format.

    当我们没有要求的日期格式时,我们确实会遇到许多这样的情况。 我们不能更改表属性来满足每个要求。 在这种情况下,我们需要使用SQL Server中的内置函数来提供所需的日期格式。

    日期和时间的数据类型 (Data Types for Date and Time)

    We have the following SQL convert date and Time data types in SQL Server.

    在SQL Server中,我们具有以下SQL转换日期和时间数据类型。

    Date type

    Format

    Time

    hh:mm:ss[.nnnnnnn]

    Date

    YYYY-MM-DD

    SmallDateTime

    YYYY-MM-DD hh:mm:ss

    DateTime

    YYYY-MM-DD hh:mm:ss[.nnn]

    DateTime2

    YYYY-MM-DD hh:mm:ss[.nnnnnnn]

    DateTimeOffset

    YYYY-MM-DD hh:mm:ss[.nnnnnnn] [+|-]hh:mm

    日期类型

    格式

    时间

    hh:mm:ss [.nnnnnnn]

    日期

    YYYY-MM-DD

    SmallDateTime

    YYYY-MM-DD hh:mm:ss

    约会时间

    YYYY-MM-DD hh:mm:ss [.nnn]

    日期时间2

    YYYY-MM-DD hh:mm:ss [.nnnnnnn]

    DateTimeOffset

    YYYY-MM-DD hh:mm:ss [.nnnnnnn] [+ |-] hh:mm

    In SQL Server, we have used built-in functions such as SQL GETDATE() and GetUTCDate() to provide server date and format in various formats.

    在SQL Server中,我们使用了诸如SQL GETDATE()GetUTCDate()之类的内置函数来提供各种格式的服务器日期和格式。

    • SYSDATETIME(): To returns the server’s date and time
    • SYSDATETIME() :返回服务器的日期和时间
    • SYSDATETIMEOffset(): It returns the server’s date and time, along with UTC offset
    • SYSDATETIMEOffset() :它返回服务器的日期和时间以及UTC偏移量
    • GETUTCDATE(): It returns date and GMT (Greenwich Mean Time ) time
    • GETUTCDATE() :返回日期和格林威治标准时间(格林威治标准时间)
    • GETDATE(): It returns server date and time
    • GETDATE() :返回服务器日期和时间

    Execute the following queries to get output in respective formats.

    执行以下查询以获取相应格式的输出。

    1. Select SYSDATETIME() as [SYSDATETIME]
      
    2. Select SYSDATETIMEOffset() as [SYSDATETIMEOffset]
      
    3. Select GETUTCDATE() as [GETUTCDATE]
      
    4. Select GETDATE() as [GETDATE]
      

    SQL Convert Date - SQL Date functions

    SQL转换日期格式 (SQL Convert Date Formats)

    As highlighted earlier, we might need to format a date in different formats as per our requirements. We can use the SQL CONVERT() function in SQL Server to format DateTime in various formats.

    如前所述,我们可能需要根据要求以不同的格式格式化日期。 我们可以在SQL Server中使用SQL CONVERT()函数将DateTime格式化为各种格式。

    Syntax for the SQ: CONVERT() function is as follows.

    SQ: CONVERT()函数的语法如下。

    SELECT CONVERT (data_type(length)),Date, DateFormatCode)
    
    • Data_Type: We need to define data type along with length. In the date function, we use Varchar(length) data types Data_Type:我们需要定义数据类型以及长度。 在日期函数中,我们使用Varchar(length)数据类型
    • Date: We need to specify the date that we want to convert 日期 :我们需要指定要转换的日期
    • DateFormatCode: We need to specify DateFormatCode :我们需要指定DateFormatCode to convert a date in an appropriate form. We will explore more on this in the upcoming section DateFormatCode以适当的格式转换日期。 我们将在接下来的部分中进一步探讨

    Let us explore various date formats using SQL convert date functions.

    让我们使用SQL转换日期函数探索各种日期格式。

    First, we declare a variable to hold current DateTime using the SQL GETDATE() function with the following query.

    首先,我们使用SQL GETDATE()函数通过以下查询声明一个变量,以保存当前的DateTime。

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Print @Existingdate
    

    SQL Convert Date - SQL Date functions

    We can see various date formats in the following table. You can keep this table handy for reference purpose in the format of Date Time columns.

    我们可以在下表中看到各种日期格式。 您可以方便地以“日期时间”列的格式将此表用于参考。


    Date and Time Formats


    SQL convert date query


    Output


    Datetime format as
    MM/DD/YY

    Standard: U.S.A.

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,1) as [MM/DD/YY]
    



    Datetime format in
    YY.MM.DD format

    Standard: ANSI

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,2) as [YY.MM.DD]
    



    Datetime format in
    DD/MM/YY format

    Standard: British/French

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,3) as [DD/MM/YY]
    



    Datetime format in DD.MM.YY format

    Standard: German

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,4) as [DD.MM.YY]
    



    Datetime format in
    DD-MM-YY format

    Standard: Italian

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,5) as [DD-MM-YY]
    



    Datetime format in
    DD MMM YY format

    Standard: Shortened month name

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,6) as [DD MMM YY]
    



    Datetime format in
    MMM DD, YY format

    Standard: Shortened month name

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,7) as [MMM DD,YY]
    



    Datetime Format
    In HH:MM: SS

    Standard: 24 hour time

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,8) as [hh:mm:ss]
    



    Datetime format as
    [MMM DD YYYY hh:mm:ss:mmm(AM/PM)]

    Standard: Default + milliseconds

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,9) as [MMM DD YYYY hh:mm:ss:mmm(AM/PM)]
    



    Datetime format in
    MM-DD-YY format

    Standard: USA

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,10) as [MM-DD-YY]
    



    Datetime format in
    YY/MM/DD format

    Standard: JAPAN

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,11) as [YY/MM/DD]
    



    Datetime format in
    YYMMDD format

    Standard: ISO

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,12) as [YYMMDD]
    



    Datetime format in
    DD MMM YYYY HH:MM:SS:MMM

    Standard: Europe default + milliseconds

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,13) as [DD MMM YYYY HH:MM:SS:MMM]
    



    Datetime format in
    HH:MM:SS:MMM

    Standard:  24 hour time with milliseconds

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,14) as [HH:MM:SS:MMM]
    



    Datetime format in
    YYYY-MM-DD HH:MM:SS

    Default: ODBC canonical

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,20) as [YYYY-MM-DD HH:MM:SS]
    



    Datetime format in
    YYYY-MM-DD HH:MM:SS.mmm

    Standard: ODBC canonical with milliseconds

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,21) as [YYYY-MM-DD HH:MM:SS.mmm]
    



    Datetime format in
    mm/dd/yy hh:mm:ss (AM/PM)

    Standard: USA with Time AM/PM

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,22) as [mm/dd/yy hh:mm:ss (AM/PM)]
    



    Datetime format in
    [yyyy-mm-dd]

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,23) as [yyyy-mm-dd]
    



    Datetime format in
    [hh:mm:ss]

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,24) as [hh:mm:ss]
    



    Datetime format in
    [mm-dd-yyyy hh:mm:ss.mmm]

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,27) as [mm-dd-yyyy hh:mm:ss.mmm]
    



    Datetime format in
    [MMM DD YYYY HH: SS (AM/PM)]

    Standard: Default

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,100) as [MMM DD YYYY HH:SS (AM/PM)]
    



    Datetime format in
    [MM/DD/YYYY]

    Standard: USA

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,101) as [MM/DD/YYYY]
     
    



    Datetime format in
    [YYYY.MM.DD]

    Standard: ANSI

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,102) as [YYYY.MM.DD]
    



    Datetime format in
    DD/MM/YYYY format

    Standard: British/French

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,103) as [DD/MM/YYYY]
    



    Datetime format in
    DD.MM.YY format

    Standard: German

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,104) as [DD/MM/YYYY]
    



    Datetime format in
    DD-MM-YY format

    Standard: Italian

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,105) as [DD/MM/YYYY]
    



    Datetime format in
    DD MMM YYYY format

    Standard: Shortened month name

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,106) as [DD MMM YYYY]
    



    Datetime format in
    MMM DD,YYYY format

    Standard: Shortened month name

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,107) as [MMM DD,YYYY]
    



    Datetime Format
    In HH:MM: SS

    Standard: 24 hour time

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,108) as [HH:MM:SS]
    



    Datetime format as
    [MMM DD YYYY hh:mm:ss:mmm(AM/PM)]

    Standard: Default + milliseconds

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,109) as [MMM DD YYYY hh:mm:ss:mmm(AM/PM)]
    



    Datetime format in
    MM- DD-YY format

    Standard: USA

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,110) as [MM-DD-YYYY]
    



    Datetime format in
    YYYY/MM/DD format

    Standard: JAPAN

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,111) as [YYYY/MM/DD]
    



    Datetime format in
    YYYYMMDD format

    Standard: ISO

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,112) as [YYYYMMDD]
    



    Datetime format in
    DD MMM YYYY HH:MM:SS: MMM

    Standard: Europe default + milliseconds

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,113) as [DD MMM YYYY HH:MM:SS:MMM]
    



    Datetime format in
    HH:MM:SS: MMM

    Standard:  24 hour time with milliseconds

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,114) as [DD MMM YYYY HH:MM:SS:MMM]
    



    Datetime format in
    YYYY-MM-DD HH:MM: SS

    Default: ODBC canonical

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,120) as [YYYY-MM-DD HH:MM:SS]
    



    Datetime format in
    YYYY-MM-DD HH:MM: SS.mmm

    Standard: ODBC canonical with milliseconds

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,121) as [YYYY-MM-DD HH:MM:SS.mmm]
    



    Datetime format in
    YYYY-MM-DDTHH:MM: SS.mmm

    Standard: ISO8601

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,126) as [yyyy-mm-ddThh:mi:ss.mmm]
    



    Datetime format in
    [DD MMM YYYY hh:mi:ss:mmm(AM/PM)]

    Standard: Islamic/Hijri date

    declare @Existingdate datetime
    Set @Existingdate=GETDATE()
    Select CONVERT(varchar,@Existingdate,130) as [dd mon yyyy hh:mi:ss:mmm(AM/PM)]
    



    日期和时间格式


    SQL转换日期查询


    输出量


    日期时间格式为
    MM / DD / YY

    标准 :美国

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,1) as [MM/DD/YY]



    日期时间格式
    YY.MM.DD格式

    标准 :ANSI

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,2) as [YY.MM.DD]



    日期时间格式
    DD / MM / YY格式

    标准 :英式/法式

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,3) as [DD/MM/YY]



    日期时间格式为DD.MM.YY

    标准 :德国

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,4) as [DD.MM.YY]



    日期时间格式
    DD-MM-YY格式

    标准 :意大利语

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,5) as [DD-MM-YY]



    日期时间格式
    DD MMM YY格式

    标准 :缩短月份名称

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,6) as [DD MMM YY]



    日期时间格式
    MMM DD,YY格式

    标准 :缩短月份名称

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,7) as [MMM DD,YY]



    日期时间格式
    在HH:MM:SS

    标准时间:24小时

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,8) as [hh:mm:ss]



    日期时间格式为
    [MMM DD YYYY hh:mm:ss:mmm(AM / PM)]

    标准 :默认+毫秒

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,9) as [MMM DD YYYY hh:mm:ss:mmm(AM/PM)]



    日期时间格式
    MM-DD-YY格式

    标准 :美国

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,10) as [MM-DD-YY]



    日期时间格式
    YY / MM / DD格式

    标准 :日本

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,11) as [YY/MM/DD]



    日期时间格式
    YYMMDD格式

    标准 :ISO

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,12) as [YYMMDD]



    日期时间格式
    DD MMM YYYY HH:MM:SS:MMM

    标准:欧洲默认值+毫秒

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,13) as [DD MMM YYYY HH:MM:SS:MMM]



    日期时间格式
    HH:MM:SS:MMM

    标准: 24小时制,以毫秒为单位

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,14) as [HH:MM:SS:MMM]



    日期时间格式
    YYYY-MM-DD HH:MM:SS

    默认值: ODBC规范

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,20) as [YYYY-MM-DD HH:MM:SS]



    日期时间格式
    YYYY-MM-DD HH:MM:SS.mmm

    标准 :ODBC规范(以毫秒为单位)

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,21) as [YYYY-MM-DD HH:MM:SS.mmm]



    日期时间格式
    mm / dd / yy hh:mm:ss(AM / PM)

    标准 :美国时间为AM / PM

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,22) as [mm/dd/yy hh:mm:ss (AM/PM)]



    日期时间格式
    [yyyy-mm-dd]

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,23) as [yyyy-mm-dd]



    日期时间格式
    [hh:mm:ss]

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,24) as [hh:mm:ss]



    日期时间格式
    [mm-dd-yyyy hh:mm:ss.mmm]

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,27) as [mm-dd-yyyy hh:mm:ss.mmm]



    日期时间格式
    [MMM DD YYYY HH:SS(AM / PM)]

    标准 :默认

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,100) as [MMM DD YYYY HH:SS (AM/PM)]



    日期时间格式
    [MM / DD / YYYY]

    标准 :美国

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,101) as [MM/DD/YYYY]



    日期时间格式
    [YYYY.MM.DD]

    标准 :ANSI

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,102) as [YYYY.MM.DD]



    日期时间格式
    DD / MM / YYYY格式

    标准 :英式/法式

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,103) as [DD/MM/YYYY]



    日期时间格式
    DD.MM.YY格式

    标准 :德国

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,104) as [DD/MM/YYYY]



    日期时间格式
    DD-MM-YY格式

    标准 :意大利语

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,105) as [DD/MM/YYYY]



    日期时间格式
    DD MMM YYYY格式

    标准 :缩短月份名称

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,106) as [DD MMM YYYY]



    日期时间格式
    MMM DD,YYYY格式

    标准 :缩短月份名称

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,107) as [MMM DD,YYYY]



    日期时间格式
    在HH:MM:SS

    标准时间:24小时

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,108) as [HH:MM:SS]



    日期时间格式为
    [MMM DD YYYY hh:mm:ss:mmm(AM / PM)]

    标准 :默认+毫秒

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,109) as [MMM DD YYYY hh:mm:ss:mmm(AM/PM)]



    日期时间格式
    MM- DD-YY格式

    标准:美国

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,110) as [MM-DD-YYYY]



    日期时间格式
    YYYY / MM / DD格式

    标准 :日本

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,111) as [YYYY/MM/DD]



    日期时间格式
    YYYYMMDD格式

    标准 :ISO

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,112) as [YYYYMMDD]



    日期时间格式
    DD MMM YYYY HH:MM:SS:MMM

    标准:欧洲默认值+毫秒

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,113) as [DD MMM YYYY HH:MM:SS:MMM]



    日期时间格式
    HH:MM:SS:MMM

    标准: 24小时制,以毫秒为单位

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,114) as [DD MMM YYYY HH:MM:SS:MMM]



    日期时间格式
    YYYY-MM-DD HH:MM:SS

    默认值: ODBC规范

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,120) as [YYYY-MM-DD HH:MM:SS]



    日期时间格式
    YYYY-MM-DD HH:MM:SS.mmm

    标准: ODBC规范(以毫秒为单位)

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,121) as [YYYY-MM-DD HH:MM:SS.mmm]



    日期时间格式
    YYYY-MM-DDTHH:MM:SS.mmm

    标准 :ISO8601

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,126) as [yyyy-mm-ddThh:mi:ss.mmm]



    日期时间格式
    [DD MMM YYYY hh:mi:ss:mmm(AM / PM)]

    标准 :伊斯兰教/回历

    declare @Existingdate datetime
     Set @Existingdate=GETDATE()
     Select CONVERT(varchar,@Existingdate,130) as [dd mon yyyy hh:mi:ss:mmm(AM/PM)]


    In the table, we can see various formats to SQL convert date as per your requirements. In the following table, you can see all SQL date formats together.

    在表中,我们可以根据您的要求看到各种格式SQL转换日期。 在下表中,您可以一起查看所有SQL日期格式。

    Let us next explore a function that is useful for SQL convert date.

    接下来让我们探讨一个对SQL转换日期有用的函数。

    日期 (DATEADD)

    We can use the SQL DATEADD function to add a particular period to our date. Suppose we have a requirement to add 1 month to current date. We can use the SQL DATEADD function to do this task.

    我们可以使用SQL DATEADD函数将一个特定的时期添加到我们的日期中。 假设我们有一个要求将1个月添加到当前日期。 我们可以使用SQL DATEADD函数来完成此任务。

    The syntax for SQL DATEADD function is as following

    SQL DATEADD函数的语法如下

    DATEADD(interval, number, date)
    

    Interval: We can specify an interval that needs to be added in the specified date. We can have values such as year, quarter, month, day, week, hour, minute etc.

    间隔:我们可以指定一个需要在指定日期添加的间隔。 我们可以使用诸如年,季度,月,日,星期,小时,分钟等值。

    Number: It specifies the number of the interval to add. For example, if we have specified interval as Month and Number as 2, it means 2 months needs to be added in date.

    Number:指定要添加的时间间隔的编号。 例如,如果我们将间隔指定为“月”并将数字指定为2,则意味着需要在日期中添加2个月。

    In the following query, we want to add 2 months in the current date.

    在以下查询中,我们要在当前日期添加2个月。

    SELECT GETDATE() as Currentdate
     
    SELECT DATEADD(month, 2, GETDATE()) AS NewDate;
    

    You can see the output in the following screenshot.

    您可以在以下屏幕截图中看到输出。

    DateADD function SQL -  - SQL Convert Date

    Similarly, lets us add 1 year to current date using the following query.

    同样,让我们​​使用以下查询将1年添加到当前日期。

    select GETDATE() as Currentdate
     
    SELECT DATEADD(Year, 1, GETDATE()) AS NewDate;
     
    

    SQL convert date - DateADD function SQL

    We can combine the SQL DATEADD and CONVERT functions to get output in desired DateTime formats. Suppose, in the previous example; we want a date format in of MMM DD, YYYY. We can use the format code 107 to get output in this format.

    我们可以结合使用SQL DATEADDCONVERT函数以所需的DateTime格式获取输出。 假设在前面的示例中; 我们想要的日期格式为MMM DD,YYYY。 我们可以使用格式代码107获得此格式的输出。

    Execute the following code to get New date and ConvertedDate.

    执行以下代码以获取新日期和ConvertedDate。

    SELECT 
     DATEADD(YEAR,1,GETDATE()) AS [NewDate]
     ,CONVERT(varchar(110),DATEADD(YEAR,1,GETDATE()),107) AS [ConvertedDate]
    

    结论 (Conclusion)

    In this article, we explored various SQL convert date formats. It allows getting a date in required format with Covert function easily. You can use this article to take a reference for all date formats and use in your queries.

    在本文中,我们探讨了各种SQL转换日期格式。 通过隐蔽功能,可以轻松获取所需格式的日期。 您可以使用本文作为所有日期格式的参考,并在查询中使用。

    翻译自: https://www.sqlshack.com/sql-convert-date-functions-and-formats/

    sql日期格式转换函数

    展开全文
  • 本篇文章是对SQL SERVER 日期格式转换进行了详细的分析介绍,需要的朋友参考下
  • sql日期格式转换函数_SQL转换日期

    万次阅读 2020-07-27 05:36:01
    sql日期格式转换函数 介绍 (Introduction) A common task for newbies is to learn how to do a SQL convert date and work to convert them date to other data types or covert other data types to Date. ...

    sql日期格式转换函数

    介绍 (Introduction)

    A common task for newbies is to learn how to do a SQL convert date and work to convert them date to other data types or covert other data types to Date.

    对于新手来说,一项常见的任务是学习如何执行SQL转换日期并将其转换为其他数据类型或将其他数据类型转换为Date。

    Here in this article we will explain how to work and convert dates to different formats or vice versa.

    在本文的此处,我们将解释如何将日期转换为不同的格式,反之亦然。

    要求 (Requirements)

    1. SQL Server installed. Starting in SQL Server 2008

      已安装SQL Server。 从SQL Server 2008开始

    (Example)

    The first example will be simple, we have a varchar column with a date in a table, but we need to convert the varchar to date. We need to do a SQL convert date.

    第一个示例很简单,我们在表中有一个带有日期的varchar列,但是我们需要将varchar转换为date。 我们需要做一个SQL转换日期。

    Here it is script to create the table with data:

    这是使用数据创建表的脚本:

    CREATE TABLE [dbo].[delivers](
      [productid] [tinyint] NOT NULL,
      [date] [nvarchar](100) NULL,
     CONSTRAINT [PK_delivers] PRIMARY KEY CLUSTERED 
    (
      [productid] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    ) ON [PRIMARY]
    GO
    INSERT [dbo].[delivers] ([productid], [date]) VALUES (1, N'02-03-2005')
    INSERT [dbo].[delivers] ([productid], [date]) VALUES (2, N'03-05-2006')
    INSERT [dbo].[delivers] ([productid], [date]) VALUES (3, N'04-05-2011')
    

    We want to convert the column date from nvarchar(100) to a date.

    我们想要将列日期从nvarchar(100)转换为日期。

    To do it, we are going to try to modify the design of the table:

    为此,我们将尝试修改表的设计:

    SSMS Design table

    We will try to change the Data Type to smalldatetime:

    我们将尝试将数据类型更改为smalldatetime:

    change varchar to smalldatime in SSMS

    You will receive the following error message:

    您将收到以下错误信息:

    Saving changes is not permitted. The changes that you have made require the following tables to be dropped and re-created. You have either made changes to a table that can’t be re-created or enabled the option Prevent saving changes that require the table to be re-created.

    不允许保存更改。 您所做的更改要求删除并重新创建下表。 您已经对无法重新创建的表进行了更改,或者启用了“防止保存需要重新创建表的更改”选项。

    To solve this error, in SSMS go to Tools > Options menu:

    要解决此错误,请在SSMS中转到“ 工具” >“ 选项”菜单:

    Change Options in SSMS

    In Options, go to Designers >Table and Database Designers and uncheck the Prevent saving changes that require table re-creation:

    在选项中,转到设计器>表和数据库设计器,然后取消选中阻止保存需要重新创建表的更改:

    Uncheck Prevent saving changes that require table re-creation

    This option will disable to option to prevent saving table recreation. When you modify the column data type, it requires table re-creation.

    此选项将禁用为选项,以防止保存表重新创建。 修改列数据类型时,需要重新创建表。

    Now, you can save the design and your table will be converted to date and the SQL convert date is completed:

    现在,您可以保存设计,您的表将转换为日期,并且SQL转换日期已完成:

    SQL convert date: Date time results after convert sql date

    转换功能 (Conversion functions)

    T-SQL contains functions to convert data types. We will use CAST and CONVERT to do a SQL convert date.

    T-SQL包含转换数据类型的函数。 我们将使用CAST和CONVERT进行SQL转换日期。

    Let’s start with CAST first:

    让我们先从CAST开始:

    如何使用CAST将varchar,nvarchar,char,nchar转换为sql date (How to convert from varchar, nvarchar, char, nchar to sql date using CAST)

    The following example, will show how to convert characters to a datetime date type using the CAST function:

    下面的示例将说明如何使用CAST函数将字符转换为日期时间日期类型:

    declare @vardate varchar(100)='03-04-2016'
    select CAST(@vardate AS datetime) AS dataconverted;
    

    The example declares a variable named vardate and then this variable that is a varchar is converted to datetime using the CAST function.

    该示例声明一个名为vardate的变量,然后使用CAST函数将该变量varchar转换为datetime。

    Note: For more information about the CAST function, refer to this link: CAST and CONVERT (Transact-SQL)

    注意: 有关CAST函数的更多信息,请参考以下链接: CAST和CONVERT(Transact-SQL)

    SQL如何使用CONVERT将日期从varchar,nvarchar,char,nchar转换为日期 (How to do a SQL convert date from varchar, nvarchar, char, nchar to date using CONVERT)

    CONVERT is a function that can do the same than CAST in the previous scenario.

    CONVERT是一项功能,可以与以前的方案中的CAST相同。

    declare @vardate varchar(100)='03-04-2016'
    select CONVERT(datetime, @vardate) as dataconverted
    

    The T-SQL code is doing the same than cast, but it is using the CONVERT function. The advantage of CONVERT is that you can easily change the format of the date using the style argument.

    T-SQL代码的作用与强制转换相同,但是它使用的是CONVERT函数。 CONVERT的优点是您可以使用style参数轻松更改日期格式。

    For example, if you want the date in the ISO format, you can use the following T-SQL sentence:

    例如,如果您想要ISO格式的日期,则可以使用以下T-SQL语句:

    select CONVERT(nvarchar(30),getdate(), 121) as isoformat
    

    如何在T-SQL中将SQL日期转换为不同的格式 (How to convert sql date into different formats in T-SQL)

    The following example shows how to convert the date format in different formats.

    下面的示例演示如何将日期格式转换为其他格式。

    For Japananes format:

    对于Japananes格式:

    select CONVERT(nvarchar(30),getdate(), 111) as Japanformat
    

    For USA format:

    对于美国格式:

    select CONVERT(nvarchar(30),getdate(), 110) as USAformat
    

    For ANSI format:

    对于ANSI格式:

    select CONVERT(nvarchar(30),getdate(), 102) as ANSIformat
    

    For British format:

    对于英式格式:

    select CONVERT(nvarchar(30),getdate(), 103) as Britishformat
    

    For German format:

    对于德语格式:

    select CONVERT(nvarchar(30),getdate(), 104) as Germanformat
    

    For Italian format:

    对于意大利语格式:

    select CONVERT(nvarchar(30),getdate(), 105) as Italianformat
    

    For European default format:

    对于欧洲默认格式:

    select CONVERT(nvarchar(30),getdate(), 113) as EuropeDefaultformat
    

    For ODBC Canonical:

    对于ODBC Canonical:

    select CONVERT(nvarchar(30),getdate(), 120) as ODBCCanonicalformat
    

    You always have the option to use the FORMAT function to get the date in the format that you want:

    您始终可以选择使用FORMAT函数以所需的格式获取日期:

    SELECT FORMAT( getdate(), 'dd/MM/yy')
    

    FORMAT is easier to handle dates and use the format of your preference, because you do not need to know the style. However, in my experience I see a lot of code using the CAST and CONVERT functions so, it is better to know them.

    FORMAT更容易处理日期并使用您的首选项格式,因为您不需要知道样式。 但是,以我的经验,我看到很多使用CAST和CONVERT函数的代码,因此最好了解它们。

    Note: For more information about the FORMAT function, refer to this link: FORMAT (Transact-SQL)

    注意: 有关FORMAT函数的更多信息,请参考以下链接: FORMAT(Transact-SQL)

    与SQL转换日期操作有关的问题 (Problems related to SQL convert date operations)

    When you try to convert to date it is not always possible. The following example shows a common error:

    当您尝试转换为日期时,并非总是可能。 以下示例显示一个常见错误:

    declare @vardate varchar(100)='11242016'
    select CONVERT(datetime, @vardate) as dataconverted
    

    The error message is the following:

    错误消息如下:

    Msg 242, Level 16, State 3, Line 22

    消息242,第16级,州3,第22行

    The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.

    从varchar数据类型到datetime数据类型的转换导致值超出范围。

    You need separators for the date like a “/”, a “.” or a “-“.

    您需要用于日期的分隔符,例如“ /”,“。” 或“-”。

    The following example, modifies the string from 11242016 to 11-24-2016 and then converts to sql date:

    以下示例将字符串从11242016修改为11-24-2016,然后转换为sql date:

    declare @vardate varchar(100)='11242016'
     
    set @vardate= SUBSTRING(@vardate, 1, 2)+'-'+ SUBSTRING(@vardate, 3, 2)+'-'+SUBSTRING(@vardate, 5, 4)
     
    select CONVERT(date, @vardate) as dataconverted
    

    We use substring to concatenate the “-” to use an acceptable date format and then we use the CONVERT function to convert the characters to sql date.

    我们使用子字符串来连接“-”以使用可接受的日期格式,然后使用CONVERT函数将字符转换为sql date。

    日期数据类型 (Date data types)

    In SQL Server, there are several types of date datatypes:

    在SQL Server中,有几种类型的日期数据类型:

    • Time returns the hours, minutes, seconds and nanoseconds (hh:mm:ss.nnnnnn)

      时间返回小时,分钟,秒和纳秒(hh:mm:ss.nnnnnn)
    • Date returns the year, months and days (yyyy-mm-dd)

      日期返回年,月和日(yyyy-mm-dd)
    • Datetime returns data with this format: YYYY-MM-DD hh:mm:ss[.nnn]

      日期时间以以下格式返回数据:YYYY-MM-DD hh:mm:ss [.nnn]
    • Smalldatetime returns date with this format: YYYY-MM-DD hh:mm:ss

      Smalldatetime以以下格式返回日期:YYYY-MM-DD hh:mm:ss
    • Datetime2 is similar to Datetime, but it has more precision (YYYY-MM-DD hh:mm:ss[.nnnnnnn])

      Datetime2与Datetime类似,但具有更高的精度(YYYY-MM-DD hh:mm:ss [.nnnnnnn])
    • Datetimeoffset it has the precision of datetime2, but it is used for time zones in UTC

      Datetimeoffset它具有datetime2的精度,但它用于UTC中的时区

    SQL将日期转换为整数 (SQL convert date to integer)

    If you use the CONVERT or CAST to convert a datetime to integer, it will return the number of days since 1900 until the date provided.

    如果使用CONVERT或CAST将日期时间转换为整数,它将返回自1900年到提供的日期为止的天数。

    For example, the following T-SQL code will show the number of days from 1900 until today:

    例如,以下T-SQL代码将显示从1900到今天的天数:

    SELECT CONVERT(INT, GETDATE())
    

    You can also convert to integer the year, months, days, etc. of a datetime value. The following code shows how to store in integer variables the day, month and year of a datetime value:

    您还可以将日期时间值的年,月,日等转换为整数。 以下代码显示如何在整数变量中存储日期时间值的日,月和年:

    declare @year int = year(getdate())
     
    declare @month int = month(getdate())
    declare @day int = day(getdate())
    select @year as year,@month as month,@day as day
    

    有关SQL Server中SQL转换日期的常见问题 (Common Questions about SQL convert date in SQL Server)

    Note: The following link contains FAQ about functions and dates in SQL Server: FAQ about Dates in SQL Server

    注意: 以下链接包含有关SQL Server中的功能和日期的 常见问题解答 有关SQL Server中的日期的常见问题解答

    结论 (Conclusions)

    In this article, we learned how to do a SQL convert date in SQL Server. We learned how to modify the data type in a table, how to use the CAST, CONVERT and FORMAT functions. We also learned about the different types of SQL data types.

    在本文中,我们学习了如何在SQL Server中执行SQL转换日期。 我们学习了如何修改表中的数据类型,如何使用CAST,CONVERT和FORMAT函数。 我们还了解了不同类型SQL数据类型。

    翻译自: https://www.sqlshack.com/sql-convert-date/

    sql日期格式转换函数

    展开全文
  • 日期格式转换总结 1)、unix time和日期格式互转 比如zabbix history表中的clock字段保存的是unix time,看到的是一串数字,可以使用FROM_UNIXTIME去转换 unixtime转换日期格式: select FROM_UNIXTIME(unix...

    日期格式的转换总结

    1)、unix time和日期格式互转

    比如zabbix history表中的clock字段保存的是unix time,看到的是一串数字,可以使用FROM_UNIXTIME去转换

    unixtime转换为日期格式:

    select FROM_UNIXTIME(unix time)

    日期格式反转成unixtime格式:

    select UNIX_TIMESTAMP(SUBDATE(now(),interval 5 minute))

     

    2)、日期和字符串之间的转换

    oracle中把日期转换成自定义格式的字符串使用to_char,反之使用to_date,但是mysql中是不一样的

    str_to_date('2012-05-01 23:59:59','%Y-%m-%d %T')
    date_to_str(date字段,'%Y-%m-%d %T')

     

     

    日期格式说明:

    %Y:代表4位的年份
    %y:代表2为的年份
    %m:代表月, 格式为(01……12) 
    %c:代表月, 格式为(1……12)
    %d:代表月份中的天数,格式为(00……31) 
    %e:代表月份中的天数, 格式为(0……31)
    %H:代表小时,格式为(00……23) 
    %k:代表 小时,格式为(0……23) 
    %h: 代表小时,格式为(01……12) 
    %I: 代表小时,格式为(01……12) 
    %l :代表小时,格式为(1……12)
    %i: 代表分钟, 格式为(00……59)
    %r:代表 时间,格式为12 小时(hh:mm:ss [AP]M) 
    %T:代表 时间,格式为24 小时(hh:mm:ss)
    %S:代表 秒,格式为(00……59) 
    %s:代表 秒,格式为(00……59)

     

     

     

     

    3)、表示N小时、N分钟、N秒前后的时间

    --取当前时间:

    select current_timestamp;
    输出:2016-06-16 16:12:52
    select now(); 
    输出:2016-06-16 16:12:52
    当前时间格式化为小时
    select DATE_FORMAT(now(), '%Y-%m-%d %H:00:00');

     

     

    --取当前时间的前一分钟:

    select SUBDATE(now(),interval 60 second);
    输出:2016-06-16 16:11:52

    --取当前时间的下一分钟:

    select ADDDATE(now(),interval 60 second);
    输出:2016-06-16 16:13:52
    通过变化上面的单位。可以取前后  分钟,小时,天的时间

    --取前一分钟的时间:

    select SUBDATE(now(),interval 1 minute);
    输出:2016-06-16 16:16:38

    --取前一小时的时间:

    select SUBDATE(now(),interval 1 hour);
    输出:2016-06-16 15:17:38

    --取前一天的时间:

    select SUBDATE(now(),interval 1 day);
    输出:2016-06-15 16:17:38

     

    --取后一分钟的时间:

    select ADDDATE(now(),interval 1 minute);
    输出:2016-06-16 16:17:38

    --取后一小时的时间:

    select ADDDATE(now(),interval 1 hour);
    输出:2016-06-16 17:17:38

    --取后一天的时间:

    select ADDDATE(now(),interval 1 day);
    输出:2016-06-17 16:17:38

    4)、获取当天,昨天,本周,本月,上周,上月的起始时间

    -- 今天

    SELECT DATE_FORMAT(NOW(),'%Y-%m-%d 00:00:00') AS '今天开始';
    SELECT DATE_FORMAT(NOW(),'%Y-%m-%d 23:59:59') AS '今天结束';

    -- 昨天

    SELECT DATE_FORMAT( DATE_SUB(CURDATE(), INTERVAL 1 DAY), '%Y-%m-%d 00:00:00') AS '昨天开始';
    SELECT DATE_FORMAT( DATE_SUB(CURDATE(), INTERVAL 1 DAY), '%Y-%m-%d 23:59:59') AS '昨天结束';

    -- 上周

    SELECT DATE_FORMAT( DATE_SUB( DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY), INTERVAL 1 WEEK), '%Y-%m-%d 00:00:00') AS '上周一';
    SELECT DATE_FORMAT( SUBDATE(CURDATE(), WEEKDAY(CURDATE()) + 1), '%Y-%m-%d 23:59:59') AS '上周末';

    -- 本周

    --美国算法
    SELECT DATE_FORMAT( SUBDATE(CURDATE(),DATE_FORMAT(CURDATE(),'%w')-1), '%Y-%m-%d 00:00:00') AS '本周一';
    SELECT DATE_FORMAT( SUBDATE(CURDATE(),DATE_FORMAT(CURDATE(),'%w')-7), '%Y-%m-%d 23:59:59') AS '本周末';
    -- 上面的本周算法在中国会有问题,因为mysql是按照周日为一周第一天,如果当前是周日的话,会把时间定为到下一周.
    SELECT DATE_FORMAT( DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY), '%Y-%m-%d 00:00:00') AS '本周一';
    SELECT DATE_FORMAT( DATE_ADD(SUBDATE(CURDATE(), WEEKDAY(CURDATE())), INTERVAL 6 DAY), '%Y-%m-%d 23:59:59') AS '本周末';

     

    -- 上月

    SELECT DATE_FORMAT( DATE_SUB(CURDATE(), INTERVAL 1 MONTH), '%Y-%m-01 00:00:00') AS '上月初';
    SELECT DATE_FORMAT( LAST_DAY(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)), '%Y-%m-%d 23:59:59') AS '上月末';

     

    -- 本月

    SELECT DATE_FORMAT( CURDATE(), '%Y-%m-01 00:00:00') AS '本月初';
    SELECT DATE_FORMAT( LAST_DAY(CURDATE()), '%Y-%m-%d 23:59:59') AS '本月末';

    -- 下月

    SELECT DATE_FORMAT( ADDDATE(CURDATE(), INTERVAL 1 MONTH), '%Y-%m-01 00:00:00') AS '下月初';
    SELECT DATE_FORMAT( LAST_DAY(ADDDATE(CURDATE(), INTERVAL 1 MONTH)), '%Y-%m-%d 23:59:59') AS '下月末';
    展开全文
  • 主要为大家详细介绍了Java SimpleDateFormat中英文时间格式转换,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 本文主要介绍了SpringMVC中日期格式转换的相关知识:用来解决日期提交转换异常的问题。具有很好的参考价值。下面跟着小编一起来看下吧
  • java list<bean> date.class如果日期类型就改成这个 日期时间格式转换
  • JSON转换为JAVA对象及日期格式转换处理 -
  • 今天小编就为大家分享一篇转换layUI的数据表格中的日期格式方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • datetime类型的日期转化成年月日或其他格式方法,例如DateTime.Now.ToShortTimeString() DateTime dt = DateTime.Now; dt.ToString();//2005-11-5 13:21:25 等
  • 易语言源码易语言脚本时间格式转换源码.rar 易语言源码易语言脚本时间格式转换源码.rar 易语言源码易语言脚本时间格式转换源码.rar 易语言源码易语言脚本时间格式转换源码.rar 易语言源码易语言脚本时间格式转换...
  • 本篇文章主要介绍了ava实现时间日期格式转换示例,实现了各种时间输出的类型,有兴趣的可以了解一下。
  • HiveSql 日期格式转换

    千次阅读 2019-12-09 14:32:48
    获取当前时间并转换为yyyy-mm-dd的格式 select from_unixtime(unix_timestamp(),'yyyy-MM-dd') select from_unixtime(unix_timestamp(),'yyyyMMdd...yyyymmdd格式转换为yyyy-mm-dd regexp_replace('$n_date','-',"")...
  • 注解@JsonFormat主要是后台到前台的时间格式转换   注解@DataFormAT主要是前后到后台的时间格式转换
  • Mybatis 时间日期格式转换

    千次阅读 2020-02-09 20:07:08
    方法一:在jsp页面中引入 jstl/fmt 标签。 <%@ taglib uri=... 然后将日期格式成yyyy-MM-dd HH:mm:ss <fmt:formatDate value='${item.date}' type='date' pattern='yyyy-MM-dd ...
  • 按指定格式转换日期和时间 易语言日期格式转换模块源码例程程序实现了日期格式的转换。 点评:易语言日期格式转换模块源码可以把易语言格式的日期时间转换为你想要的任意格式。 三叶易语言
  • 时间日期格式转换(Date类)

    千次阅读 2019-12-02 20:06:24
    对于日期的常用格式,在中国常采用格式的是“年年年年/月月/日日”或写为英语缩略表示的”yyyy/mm/dd”,此次编程竞赛的启动日期“2010/11/20”就是符合这种格式的一个日期, 而北美所用的日期格式则为“月月/日日/...
  • matlab 中常用的日期格式转换

    千次阅读 2020-12-06 12:39:52
    ans = % 返回答案是datetime格式的字符串,可以直接用datenum转换 datetime 2020-12-06 字符串变数字 str2num('19910203') ans = 19910203 数字变字符串 num2str(19910203) ans = '19910203' 字符...
  • sql 日期时间格式转换

    万次阅读 2019-08-03 15:28:26
    可以通过控制varchar长度截取...日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, 20) 结果:2007-02-01 08:02/*时间一般为getdate()函数或数据表里的字段*/ CONVERT(varchar(10), 时间一, 23) 结果...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 841,897
精华内容 336,758
关键字:

日期格式转换