首页 文章

SQL Server将字符串从字符串转换为日期

提问于
浏览
0

我有一个 stocked 列作为 nvarchar(50) 包含这种格式的日期 ('yyyy/mm/dd') ,我想将它转换为日期,所以我可以做一些日期添加进一步的比较 .

到目前为止我所看到的一切都没有起作用(很多关于演员和转换者)并且总是产生这样的东西:

“消息242,级别16,状态3,行1”将varchar数据类型转换为日期时间数据类型会导致超出范围的值 . “

3 回答

  • 1

    您很可能拥有无法正确转换的数据 . 您可以使用下面的查询来查看问题数据(这适用于SQL Server 2012及更高版本)

    declare @tableName table(stocked nvarchar(50));
    insert into @tableName values
    ('2017/12/31'),('2017/11/11'),('2017/11/13'),('2017/13/11');
    SET DATEFORMAT ymd;  
    
    select
    stocked,
    TRY_PARSE(stocked as datetime)
    from @tableName
    where TRY_PARSE(stocked as datetime) is NULL;
    
  • 0

    使用

    ISDATE(expression)如果表达式是有效的日期,时间或日期时间值,则返回1;否则,0 .

  • 0

    基本上,我有一个excel表,我插入到SQL Server 2014,没有管理确实在插入时将数据转换为日期,但我想在插入的方式上工作比在以后转换它更少痛苦

相关问题