sql - Multiple update rows with a column as parameter -
i'm trying update multiple rows in table:
nip | attendancedate | intime | outtime ---------------------------------------------------------------------------------------------- 1105321|2016-08-30 00:00:00.000|1900-01-01 00:00:00.000|1900-01-01 00:00:00.000 1105321|2016-08-31 00:00:00.000|1900-01-01 00:00:00.000|1900-01-01 00:00:00.000 1105321|2016-09-01 00:00:00.000|1900-01-01 00:00:00.000|1900-01-01 00:00:00.000 1105321|2016-09-02 00:00:00.000|1900-01-01 00:00:00.000|1900-01-01 00:00:00.000
i want update intime
& outtime
.
i know can this
update attendance set intime = '2016-08-30 08:00:00.000', outtime = '2016-08-30 18:00:00.000' nip = '1105321' , attendancedate = '2016-08-30'
but query, must 1 one. so, question can update once? don't need update 1 one. possible? sorry bad english.
update:
so don't need
update attendance set intime = '2016-08-30 08:00:00.000', outtime = '2016-08-30 18:00:00.000' nip = '1105321' , attendancedate = '2016-08-30' update attendance set intime = '2016-08-31 08:00:00.000', outtime = '2016-08-31 18:00:00.000' nip = '1105321' , attendancedate = '2016-08-31' update attendance set intime = '2016-09-01 08:00:00.000', outtime = '2016-09-01 18:00:00.000' nip = '1105321' , attendancedate = '2016-09-01' update attendance set intime = '2016-09-02 08:00:00.000', outtime = '2016-09-02 18:00:00.000' nip = '1105321' , attendancedate = '2016-09-02'
assuming data type of attendancedate
datettime
, can use simple update
statement , dateadd
function:
update attendance set intime = dateadd(hour, 8, attendancedate), outtime = dateadd(hour, 18, attendancedate) nip = '1105321'
the statement updates rows condition nip = '1105321'
met (as defined where
statement). if want update every row, remove where
statement.
intime
calculated adding 8 hours attendancedate
, , outtime
- adding 18 hours attendancedate
.
if store date string, need casting string datetime
, , cast when done, or choose use string manipulation.
Comments
Post a Comment