开发者社区> 优惠券发放> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

SqlServer 将纯数字的时间转换为DateTime

简介: SqlServer 将纯数字的时间转换为DateTime由于数据库存的是整个字符串组到一起了,C#代码是这个样子的。 复制代码public static string time(DateTime dt) { return dt.
+关注继续查看

SqlServer 将纯数字的时间转换为DateTime
由于数据库存的是整个字符串组到一起了,C#代码是这个样子的。

复制代码
public static string time(DateTime dt)

    {
        return dt.Year.ToString() + ((Convert.ToInt32(dt.Month) < 10) ? "0" + dt.Month.ToString() : dt.Month.ToString()) + ((Convert.ToInt32(dt.Day) < 10) ? "0" + dt.Day.ToString() : dt.Day.ToString()) + ((Convert.ToInt32(dt.Hour) < 10) ? "0" + dt.Hour.ToString() : dt.Hour.ToString()) + ((Convert.ToInt32(dt.Minute) < 10) ? "0" + dt.Minute.ToString() : dt.Minute.ToString()) + ((Convert.ToInt32(dt.Second) < 10) ? "0" + dt.Second.ToString() : dt.Second.ToString());
    }

复制代码
在sqlserver中存储的实际值是:20190416124941。那么直接转换?

所以在sqlserver中查询的时候我们要进行转化,因为在mssql中进行转换需要是有标准的 例如/ : 等符号。那么我们就进行截取吧。

CONVERT(datetime, left(q.YL01,4)+'-'+SUBSTRING(q.YL01,5,2)+'-'

        +SUBSTRING(q.YL01,7,2))>=DATEADD(MM,-3,getdate()) 

最后就完事了。

复制代码
SELECT distinct TOP 1 z.*,

    MAX(CASE WHEN S.Col_name_en = 'dwtt_crack_act' THEN S.Actual ELSE null END) as [断裂数量实绩值],
MAX(CASE WHEN S.Col_name_en = 'dwtt_dft_act' THEN S.Actual ELSE null END) as [挠度实绩值],q.YL01 FROM

(SELECT Z.Entrustment,z.Test_item_code,Z.sample_no

        FROM HB_M0LMZL Z
        WHERE TEST_ITEM_Code = 'QF' 
        GROUP BY Z.Entrustment,Z.Test_item_code,Z.Sample_no
        HAVING MAX(CASE WHEN z.col_name_en = 'cast_no' THEN z.Actual ELSE null END) = ''

) as Z LEFT JOIN HB_M0LMQ1 Q ON Q.Sample_lot_no = Z.Entrustment AND Q.Test_item_code

= Z.Test_item_code AND Z.Sample_no = Q.Sample_no LEFT JOIN HB_LMM0SJ S ON S.Test_item_code 
    = Z.Test_item_code AND S.Sample_no = Z.Sample_no AND S.Entrustment = Z.Entrustment
     WHERE CONVERT(datetime, left(q.YL01,4)+'-'+SUBSTRING(q.YL01,5,2)+'-'
        +SUBSTRING(q.YL01,7,2))>=DATEADD(MM,-3,getdate()) 
        GROUP BY Z.Entrustment,Z.Test_item_code,Z.Sample_no,q.YL01
        ORDER BY Q.YL01

复制代码
原文地址https://www.cnblogs.com/ZaraNet/p/10756048.html

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
SQL SERVER-时间戳(timestamp)与时间格式(datetime)互相转换
原文:SQL SERVER-时间戳(timestamp)与时间格式(datetime)互相转换 SQL里面有个DATEADD的函数。时间戳就是一个从1970-01-01 08:00:00到时间的相隔的秒数。
11685 0
SQL 时间戳转换为日期
原文:SQL 时间戳转换为日期 DATEADD(s, Timestamp + 8*3600, '1970-01-01 00:00:00') 其中Timestamp为10位的时间戳,+8*3600是获取中国北京时间(东八区)
1894 0
SqlServer时间戳与普通格式的转换
/********************************************** 时间戳转换(秒) **********************************************/ --普通时间转换为时间戳(秒) SELECT DATEDIFF(SS,'197...
821 0
SqlServer中日期和时间数据类型及函数 【转】
来源:http://blog.csdn.net/royalwzy/article/details/6446075     日期和时间数据类型 下表列出了 Transact-SQL 的日期和时间数据类型.
729 0
使用sqlserver日期函数获取当前日期(指定格式)
        使用sqlserver日期函数中的getdate()可以获取当现的日期,下面就将为您介绍这种使用sqlserver日期函数获取当前日期的方法。        但是如果我们只需要得到当前的日期,不需要时间部分,或者不需要日期只要时间部分,再或者我要只要字段中的日期以某种形式显示,应该怎么操作呢?        可以使用convert(varchar(10),getdate
863 0
C#和SqlServer中处理时间格式问题
1.C#中的时间格式////获取星期··············································public static string dt;      public static string week;      protected void Button1_C...
870 0
+关注
优惠券发放
阿里云优惠码阿里云推荐券bieryun.com
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载