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