阳光网驿-企业信息化交流平台【DTC零售连锁全渠道解决方案】

 找回密码
 注册

QQ登录

只需一步,快速开始

扫描二维码登录本站

手机号码,快捷登录

老司机
查看: 2259|回复: 8

[Ms sql] SQL高手帮忙写条更新语句

[复制链接]
  • TA的每日心情
    开心
    2024-1-26 13:58
  • 签到天数: 3069 天

    [LV.Master]伴坛终老

    发表于 2012-7-16 15:49:35 | 显示全部楼层 |阅读模式
    本帖最后由 wuweijie 于 2012-7-16 16:15 编辑

    图1.JPG 表ceshi 中有一名为fdate的字段,数据类型为datetime。
    正常的存储格式应该精确到天,如“2012-7-12 00:00:00”   ;
    最近表中出错,很多记录精确到了时分秒,如“2012-7-12 12:32:34”   (如图1的红色圈中部分)
    由于出错记录太多,请高手帮下忙用什么命令能统一删除记录后面的时分秒信息,只保留到天
    用下列的SQL语句可以查询错误记录:
    select *,CONVERT(char(24),fdate)  as rqstr from ceshi
    where CONVERT(char(24),fdate) not like '%:00%M'
    楼主热帖
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    慵懒
    昨天 19:02
  • 签到天数: 2017 天

    [LV.Master]伴坛终老

    发表于 2012-7-16 16:04:31 | 显示全部楼层
    网上搜一下update语句用法就行了,很简单!
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    开心
    2024-1-26 13:58
  • 签到天数: 3069 天

    [LV.Master]伴坛终老

     楼主| 发表于 2012-7-16 16:09:35 | 显示全部楼层
    本帖最后由 wuweijie 于 2012-7-16 16:27 编辑
    asalong 发表于 2012-7-16 16:04
    网上搜一下update语句用法就行了,很简单!


    难点不是updata的语法,难点是怎么删除时分秒而保留到天。。
    问题已经解决,语句如下:
    update ceshi
    set
    fdate=cast(cast(fdate-0.5 as integer) as smalldatetime)
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    慵懒
    昨天 19:02
  • 签到天数: 2017 天

    [LV.Master]伴坛终老

    发表于 2012-7-16 16:41:02 | 显示全部楼层
    wuweijie 发表于 2012-7-16 16:09
    难点不是updata的语法,难点是怎么删除时分秒而保留到天。。
    问题已经解决,语句如下:
    update ceshi ...

    SQL Server CONVERT() 函数SQL Server Date 函数

    定义和用法CONVERT() 函数是把日期转换为新数据类型的通用函数。
    CONVERT() 函数可以用不同的格式显示日期/时间数据。
    语法CONVERT(data_type(length),data_to_be_converted,style)data_type(length) 规定目标数据类型(带有可选的长度)。data_to_be_converted 含有需要转换的值。style 规定日期/时间的输出格式。
    可以使用的 style 值:
    Style IDStyle 格式
    100 或者 0mon dd yyyy hh:miAM (或者 PM)
    101mm/dd/yy
    102yy.mm.dd
    103dd/mm/yy
    104dd.mm.yy
    105dd-mm-yy
    106dd mon yy
    107Mon dd, yy
    108hh:mm:ss
    109 或者 9mon dd yyyy hh:mi:ss:mmmAM(或者 PM)
    110mm-dd-yy
    111yy/mm/dd
    112yymmdd
    113 或者 13dd mon yyyy hh:mm:ss:mmm(24h)
    114hh:mi:ss:mmm(24h)
    120 或者 20yyyy-mm-dd hh:mi:ss(24h)
    121 或者 21yyyy-mm-dd hh:mi:ss.mmm(24h)
    126yyyy-mm-ddThh:mm:ss.mmm(没有空格)
    130dd mon yyyy hh:mi:ss:mmmAM
    131dd/mm/yy hh:mi:ss:mmmAM

    实例下面的脚本使用 CONVERT() 函数来显示不同的格式。我们将使用 GETDATE() 函数来获得当前的日期/时间:
    CONVERT(VARCHAR(19),GETDATE())CONVERT(VARCHAR(10),GETDATE(),110) CONVERT(VARCHAR(11),GETDATE(),106)CONVERT(VARCHAR(24),GETDATE(),113)结果类似:
    Dec 29 2008 11:45 PM12-29-200829 Dec 0829 Dec 2008 16:25:46.635
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    开心
    2024-1-26 13:58
  • 签到天数: 3069 天

    [LV.Master]伴坛终老

     楼主| 发表于 2012-7-16 16:59:02 | 显示全部楼层
    本帖最后由 wuweijie 于 2012-7-16 16:59 编辑
    asalong 发表于 2012-7-16 16:41
    SQL Server CONVERT() 函数SQL Server Date 函数

    定义和用法CONVERT() 函数是把日期转换为新数据类型的 ...


    十分感谢。。。。用下面语句也能解决
    update ceshi
    set
    fdate=cast(cast(fdate-0.5 as integer) as smalldatetime)

    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    慵懒
    2023-7-28 21:37
  • 签到天数: 374 天

    [LV.9]以坛为家II

    发表于 2012-7-26 17:09:51 | 显示全部楼层
    很不错,可以实用参考。谢谢分享。

    本文来自:阳光网驿_企业信息化专家 详细出处请参考:http://bbs.sunwy.org/thread-117188-1-1.html
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情

    2012-7-26 17:04
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2012-7-26 17:11:09 | 显示全部楼层
    恩,这东西实用啊,谢谢楼主分享了
    w w w.exixw.com  w w w.399bo.com w w w.bet822.com
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    开心
    2021-1-14 22:47
  • 签到天数: 296 天

    [LV.8]以坛为家I

    发表于 2012-9-5 15:02:28 | 显示全部楼层
    太实用了                                     !
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    奋斗
    2013-9-18 15:47
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    发表于 2012-12-5 15:48:31 | 显示全部楼层
    嗯,学习下,值得学习,解决了,还共享下,不错不错
    启用邀请码注册,提高发帖质量,建设交流社区
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    快速回复 返回顶部 返回列表