>  기사  >  데이터 베이스  >  【Sqlserver】修改数据库表中的数据:对缺失的数据根据已有的数

【Sqlserver】修改数据库表中的数据:对缺失的数据根据已有的数

WBOY
WBOY원래의
2016-06-07 15:18:43959검색

1 -- 查询时间范围内的数据 2 select * from dbo.point where wtime ' 2014-05-01 23:59:59 ' and wtime ' 2014-05-02 00:40:42.000 ' 3 4 5 delete from point where wtime ' 2014-05-01 23:59:59 ' and wtime ' 2014-05-02 00:40:42.000 ' 6 7 -- 查询时间

<span><br> 1</span> <span>--</span><span>查询时间范围内的数据</span>
<span> 2</span> <span>select</span> <span>*</span> <span>from</span> dbo.point <span>where</span> wtime <span>></span><span>'</span><span>2014-05-01 23:59:59</span><span>'</span> <span>and</span> wtime<span> <span>'</span><span>2014-05-02 00:40:42.000</span><span>'</span>
<span> 3</span> 
<span> 4</span> 
<span> 5</span> <span>delete</span> <span>from</span> point <span>where</span>  wtime <span>></span><span>'</span><span>2014-05-01 23:59:59</span><span>'</span> <span>and</span> wtime<span> <span>'</span><span>2014-05-02 00:40:42.000</span><span>'</span>
<span> 6</span> 
<span> 7</span> <span>--</span><span>查询时间范围内的数据,并插入到临时表中</span>
<span> 8</span> <span>select</span> <span>*</span> <span>into</span> a_temp <span>from</span> point <span>where</span>  wtime <span>between</span> <span>'</span><span>2014-05-01 00:00:42.000</span><span>'</span> <span>and</span> <span>'</span><span>2014-05-01 00:40:42.000</span><span>'</span>
<span> 9</span> 
<span>10</span> <span>--</span><span>查询临时表内的数据</span>
<span>11</span> <span>select</span> <span>*</span> <span>from</span><span> a_temp
</span><span>12</span> 
<span>13</span> 
<span>14</span> <span>--</span><span>更新临时表的时间</span>
<span>15</span> <span>update</span> a_temp <span>set</span> wtime<span>=</span><span>DATEADD</span>(<span>day</span>, <span>1</span><span>, wtime) 
</span><span>16</span> 
<span>17</span> <span>--</span><span>把临时表中的数据插入到表中</span>
<span>18</span> <span>insert</span> <span>into</span> point <span>select</span> pointid,pointtype,pointvalue,pointunit,pointvalue2,pointunit2,wtime <span>from</span> a_temp</span></span>

 1、sqlServer里面日期的加法

 

DATEADD

在向指定日期加上一段时间的基础上,返回新的 datetime 值。

语法

DATEADD <strong>(</strong> <em>datepart </em><strong>,</strong> <em>number</em><strong>,</strong> <em>date </em><strong>) </strong>

参数

datepart

是规定应向日期的哪一部分返回新值的参数。下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。

日期部分 缩写
Year yy, yyyy
quarter qq, q
Month mm, m
dayofyear dy, y
Day dd, d
Week wk, ww
Hour hh
minute mi, n
second ss, s
millisecond ms

 

number

是用来增加 datepart 的值。如果指定一个不是整数的值,则将废弃此值的小数部分。例如,如果为 datepart 指定 day,为 number 指定 1.75,则 date 将增加 1。

date

是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式。有关指定日期的更多信息,请参见 datetime 和 smalldatetime。

如果您只指定年份的最后两位数字,则小于或等于"两位数年份截止期"配置选项的值的最后两位数字的数字所在世纪与截止年所在世纪相同。大于该选项的值的最后两位数字的数字所在世纪为截止年所在世纪的前一个世纪。例如,如果 two digit year cutoff 为 2049(默认),则 49 被解释为 2049,2050 被解释为 1950。为避免模糊,请使用四位数的年份。

返回类型

返回 datetime,但如果 date 参数是 smalldatetime,返回 smalldatetime。

 

2、

使用 INSERT...SELECT 插入行

INSERT 语句中的 SELECT 子查询可用于将一个或多个其它的表或视图的值添加到表中。使用 SELECT 子查询可同时插入多行。

下面的 INSERT 语句将 titles 中数据的 type 是 modern cooking 的所有行的数据插入到一个单独的表中:

USE pubs
INSERT INTO MyBooks
   SELECT title_id, title, type
   FROM titles
   WHERE type = 'mod_cook'
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.