开发者社区> 问答> 正文

请教:在mssql中添加日期如何去掉后面的0:00:00?:报错

如题:

定义的数据类型: date

添加日期后内容总是这样:  2010/11/7 0:00:00

读取出来的内容带如何不显示0:00:00?

或者添加日期时直接就是2010/11/7?

展开
收起
kun坤 2020-06-07 20:31:05 781 0
1 条回答
写回答
取消 提交回答
  • 可以用CONVERT()来对日期时间值进行转换后再输出。

    如:convert(varchar(10), getdate(), 111)

    可以查看convert()的相关文档以了解其详细用法

    ######

    表达有误,修正一下:

     

    定义的数据类型: date

    添加到数据库中的数据内容: 2010-11-7

    数据库表中date列中的数据: 2010-11-7

    列中的数据是不带  0:00:00  的.

    但C#读取出来的显示的内容是: 2010/11/7 0:00:00

    读取语句(页面中代码): <%#DataBinder.Eval(Container.DataItem,"date") %>

    .cs文件代码:

     

    if (dr.HasRows)

                {

                    this.txtDate.Text = dr.GetValue(3).ToString();

         }

     

    ######

    日期的显示,最好是单独进行格式化处理,例如 Java 中的 DateFormat ,这样不管数据库是什么类型,应用显示上都是一致的。

    ######

    问题已解决.

    两种方法:

    1.this.labMsg.Text = dr.GetDateTime(3).ToShortDateString();

    GetDateTime(): 获取指定列的System.DateTime对象形式的值.

    ToShortDateString(): 将此实例的值转换为其等效的短日期字符串表示形式.

    2.this.labMsg.Text = dr.GetValue(3).ToString().Substring(0,10);

    GetValue(): 获取以本机格式表示的指定列的值.

    Substring(Int32, Int32): 从此实例检索子字符串。子字符串从指定的字符位置开始且具有指定的长度。

    其实标题写错了,这个是代码本身的问题,并不是数据库的问题,在mssql2008中,设置为date类型的数据其本身格式就是: 2010-11-07.

    是我用错了方法,GetValue()获取到的方法是以本机格式表示的,自然就成了2010/11/1 0:00:00这个的格式了,换成GetDateTime()然后将其转换是短时期字符串ToShortDateString()就可以了.

    谢谢各位热心的朋友

    2020-06-07 20:31:08
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载