jvescio
asked on
UPDATE datetime field with NULL value, NOT 12:00AM
THIS IS A TIME SLIP SCENARIO...using ASP and SQL SERVER 2000 DATA TYPE=datetime LENGTH=8
For an employee time slip system I have the following fields in a table called NONEXMPT:
InMONamHour
InTUEamHour
InWEDamHour
InTHURamHour
InFRIamHour
InSATamHour
InSUNamHour
OutMONamHour
OutTUEamHour
OutTHURamHour
OutFRIamHour
OutSATamHour
OutSUNamHour
InMONpmHour
InTUEpmHour
InWEDpmHour
InTHURpmHour
InFRIpmHour
InSATpmHour
InSUNpmHour
OutMONpmHour
OutTUEpmHour
OutWEDpmHour
OutTHURpmHour
OutFRIpmHour
OutSATpmHour
OutSUNpmHour
I am allowing employees to submit time with an ASP form. If fields are left blank, for days in the week not yet worked, a NULL value is passed. Which is what I want.
Here is the form field I am using:
<select size="1" name="InTUEamHour">
<option selected value=""></option>
</select>
If they return to the form, the next day, no value is displayed for the blank fields, which is correct. Here is the select statement used when they return:
SELECT SUBSTRING(CAST(InMONamHour as varchar),12,17) AS InMONamHour, SUBSTRING(CAST(InTUEamHour as varchar),12,17) AS InTUEamHour, SUBSTRING(CAST(InWEDamHour as varchar),12,17) AS InWEDamHour, SUBSTRING(CAST(InTHURamHou r as varchar),12,17) AS InTHURamHour, SUBSTRING(CAST(InFRIamHour as varchar),12,17) AS InFRIamHour, SUBSTRING(CAST(InSATamHour as varchar),12,17) AS InSATamHour, SUBSTRING(CAST(InSUNamHour as varchar),12,17) AS InSUNamHour, SUBSTRING(CAST(OutMONamHou r as varchar),12,17) AS OutMONamHour, SUBSTRING(CAST(OutTUEamHou r as varchar),12,17) AS OutTUEamHour, SUBSTRING(CAST(OutWEDamHou r as varchar),12,17) AS OutWEDamHour, SUBSTRING(CAST(OutTHURamHo ur as varchar),12,17) AS OutTHURamHour, SUBSTRING(CAST(OutFRIamHou r as varchar),12,17) AS OutFRIamHour, SUBSTRING(CAST(OutSATamHou r as varchar),12,17) AS OutSATamHour, SUBSTRING(CAST(OutSUNamHou r as varchar),12,17) AS OutSUNamHour, SUBSTRING(CAST(InMONpmHour as varchar),12,17) AS InMONpmHour, SUBSTRING(CAST(InTUEpmHour as varchar),12,17) AS InTUEpmHour, SUBSTRING(CAST(InWEDpmHour as varchar),12,17) AS InWEDpmHour, SUBSTRING(CAST(InTHURpmHou r as varchar),12,17) AS InTHURpmHour, SUBSTRING(CAST(InFRIpmHour as varchar),12,17) AS InFRIpmHour, SUBSTRING(CAST(InSATpmHour as varchar),12,17) AS InSATpmHour, SUBSTRING(CAST(InSUNpmHour as varchar),12,17) AS InSUNpmHour, SUBSTRING(CAST(OutMONpmHou r as varchar),12,17) AS OutMONpmHour, SUBSTRING(CAST(OutTUEpmHou r as varchar),12,17) AS OutTUEpmHour, SUBSTRING(CAST(OutWEDpmHou r as varchar),12,17) AS OutWEDpmHour, SUBSTRING(CAST(OutTHURpmHo ur as varchar),12,17) AS OutTHURpmHour, SUBSTRING(CAST(OutFRIpmHou r as varchar),12,17) AS OutFRIpmHour, SUBSTRING(CAST(OutSATpmHou r as varchar),12,17) AS OutSATpmHour, SUBSTRING(CAST(OutSUNpmHou r as varchar),12,17) AS OutSUNpmHour, InMONamType, InMonpmType, OutMonamType, OutMonpmType, InTUEamType, InTUEpmType, OutTUEamType, OutTUEpmType, InWEDamType, InWEDpmType, OutWEDamType, OutWEDpmType, InTHURamType, InTHURpmType, OutTHURamType, OutTHURpmType, InFRIamType, InFRIpmType, OutFRIamType, OutFRIpmType, InSATamType, InSATpmType, OutSATamType, OutSATpmType, InSUNamType, InSUNpmType, OutSUNamType, OutSUNpmType, ID,username,pw,posted,last name,first name,manag er,locatio n,ppend,we ekend, ID FROM nonexempt WHERE username = '::username::' AND pw = '::pw::' AND ppend > GETDATE() AND ppend < (GETDATE()+15)
ALL GOOD SO FAR…
If they update the form, for today’s time, and then submit the form, and then return again tomorrow…12:00AM is displayed in place of all of the, once before, NULL values!! NOT WHAT I WANT TO SEE!!
Here is the form field I am using to display the field value and then UPDATE the value:
<option selected value="<%=FP_FieldHTML(fp_ rs,"InTUEa mHour")%>" ><%=FP_Fie ldHTML(fp_ rs,"InTUEa mHour")%>
</option>
Here is my update statement:
UPDATE nonexempt SET InMONamType = '::InMONamType::' , InMONamHour = '::InMONamHour::' , InTUEamType = '::InTUEamType::' , InTUEamHour = '::InTUEamHour::' , InWEDamType = '::InWEDamType::' , InWEDamHour = '::InWEDamHour::' , InTHURamType = '::InTHURamType::' , InTHURamHour = '::InTHURamHour::' , InFRIamType = '::InFRIamType::' , InFRIamHour = '::InFRIamHour::' , InSATamType = '::InSATamType::' , InSATamHour = '::InSATamHour::' , InSUNamType = '::InSUNamType::' , InSUNamHour = '::InSUNamHour::' , OutMONamType = '::OutMONamType::' , OutMONamHour = '::OutMONamHour::' , OutTUEamType = '::OutTUEamType::' , OutTUEamHour = '::OutTUEamHour::' , OutWEDamType = '::OutWEDamType::' , OutWEDamHour = '::OutWEDamHour::' , OutTHURamType = '::OutTHURamType::' , OutTHURamHour = '::OutTHURamHour::' , OutFRIamType = '::OutFRIamType::' , OutFRIamHour = '::OutFRIamHour::' , OutSATamType = '::OutSATamType::' , OutSATamHour = '::OutSATamHour::' , OutSUNamType = '::OutSUNamType::' , OutSUNamHour = '::OutSUNamHour::' , InMONpmType = '::InMONpmType::' , InMONpmHour = '::InMONpmHour::' , InTUEpmType = '::InTUEpmType::' , InTUEpmHour = '::InTUEpmHour::' , InWEDpmType = '::InWEDpmType::' , InWEDpmHour = '::InWEDpmHour::' , InTHURpmType = '::InTHURpmType::' , InTHURpmHour = '::InTHURpmHour::' , InFRIpmType = '::InFRIpmType::' , InFRIpmHour = '::InFRIpmHour::' , InSATpmType = '::InSATpmType::' , InSATpmHour = '::InSATpmHour::' , InSUNpmType = '::InSUNpmType::' , InSUNpmHour = '::InSUNpmHour::' , OutMONpmType = '::OutMONpmType::' , OutMONpmHour = '::OutMONpmHour::' , OutTUEpmType = '::OutTUEpmType::' , OutTUEpmHour = '::OutTUEpmHour::' , OutWEDpmType = '::OutWEDpmType::' , OutWEDpmHour = '::OutWEDpmHour::' , OutTHURpmType = '::OutTHURpmType::' , OutTHURpmHour = '::OutTHURpmHour::' , OutFRIpmType = '::OutFRIpmType::' , OutFRIpmHour = '::OutFRIpmHour::' , OutSATpmType = '::OutSATpmType::' , OutSATpmHour = '::OutSATpmHour::' , OutSUNpmType = '::OutSUNpmType::' , OutSUNpmHour = '::OutSUNpmHour::' , status = '::status::' , Timestamp = '::Timestamp::' WHERE (ID = ::ID::)
What can I do to continue passing NULL values for “blank” fields??
These 12:00AM values are making my form look like cr@p!!
EXPERTS, PLEASE HELP!!
I was previously helped by ScottPletcher
For an employee time slip system I have the following fields in a table called NONEXMPT:
InMONamHour
InTUEamHour
InWEDamHour
InTHURamHour
InFRIamHour
InSATamHour
InSUNamHour
OutMONamHour
OutTUEamHour
OutTHURamHour
OutFRIamHour
OutSATamHour
OutSUNamHour
InMONpmHour
InTUEpmHour
InWEDpmHour
InTHURpmHour
InFRIpmHour
InSATpmHour
InSUNpmHour
OutMONpmHour
OutTUEpmHour
OutWEDpmHour
OutTHURpmHour
OutFRIpmHour
OutSATpmHour
OutSUNpmHour
I am allowing employees to submit time with an ASP form. If fields are left blank, for days in the week not yet worked, a NULL value is passed. Which is what I want.
Here is the form field I am using:
<select size="1" name="InTUEamHour">
<option selected value=""></option>
</select>
If they return to the form, the next day, no value is displayed for the blank fields, which is correct. Here is the select statement used when they return:
SELECT SUBSTRING(CAST(InMONamHour
ALL GOOD SO FAR…
If they update the form, for today’s time, and then submit the form, and then return again tomorrow…12:00AM is displayed in place of all of the, once before, NULL values!! NOT WHAT I WANT TO SEE!!
Here is the form field I am using to display the field value and then UPDATE the value:
<option selected value="<%=FP_FieldHTML(fp_
</option>
Here is my update statement:
UPDATE nonexempt SET InMONamType = '::InMONamType::' , InMONamHour = '::InMONamHour::' , InTUEamType = '::InTUEamType::' , InTUEamHour = '::InTUEamHour::' , InWEDamType = '::InWEDamType::' , InWEDamHour = '::InWEDamHour::' , InTHURamType = '::InTHURamType::' , InTHURamHour = '::InTHURamHour::' , InFRIamType = '::InFRIamType::' , InFRIamHour = '::InFRIamHour::' , InSATamType = '::InSATamType::' , InSATamHour = '::InSATamHour::' , InSUNamType = '::InSUNamType::' , InSUNamHour = '::InSUNamHour::' , OutMONamType = '::OutMONamType::' , OutMONamHour = '::OutMONamHour::' , OutTUEamType = '::OutTUEamType::' , OutTUEamHour = '::OutTUEamHour::' , OutWEDamType = '::OutWEDamType::' , OutWEDamHour = '::OutWEDamHour::' , OutTHURamType = '::OutTHURamType::' , OutTHURamHour = '::OutTHURamHour::' , OutFRIamType = '::OutFRIamType::' , OutFRIamHour = '::OutFRIamHour::' , OutSATamType = '::OutSATamType::' , OutSATamHour = '::OutSATamHour::' , OutSUNamType = '::OutSUNamType::' , OutSUNamHour = '::OutSUNamHour::' , InMONpmType = '::InMONpmType::' , InMONpmHour = '::InMONpmHour::' , InTUEpmType = '::InTUEpmType::' , InTUEpmHour = '::InTUEpmHour::' , InWEDpmType = '::InWEDpmType::' , InWEDpmHour = '::InWEDpmHour::' , InTHURpmType = '::InTHURpmType::' , InTHURpmHour = '::InTHURpmHour::' , InFRIpmType = '::InFRIpmType::' , InFRIpmHour = '::InFRIpmHour::' , InSATpmType = '::InSATpmType::' , InSATpmHour = '::InSATpmHour::' , InSUNpmType = '::InSUNpmType::' , InSUNpmHour = '::InSUNpmHour::' , OutMONpmType = '::OutMONpmType::' , OutMONpmHour = '::OutMONpmHour::' , OutTUEpmType = '::OutTUEpmType::' , OutTUEpmHour = '::OutTUEpmHour::' , OutWEDpmType = '::OutWEDpmType::' , OutWEDpmHour = '::OutWEDpmHour::' , OutTHURpmType = '::OutTHURpmType::' , OutTHURpmHour = '::OutTHURpmHour::' , OutFRIpmType = '::OutFRIpmType::' , OutFRIpmHour = '::OutFRIpmHour::' , OutSATpmType = '::OutSATpmType::' , OutSATpmHour = '::OutSATpmHour::' , OutSUNpmType = '::OutSUNpmType::' , OutSUNpmHour = '::OutSUNpmHour::' , status = '::status::' , Timestamp = '::Timestamp::' WHERE (ID = ::ID::)
What can I do to continue passing NULL values for “blank” fields??
These 12:00AM values are making my form look like cr@p!!
EXPERTS, PLEASE HELP!!
I was previously helped by ScottPletcher
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
nigelrivett, ispaleny,
Well done!
Both suggestions worked, the patch being the "easiest" is the route I have taken.
MUCH appreciation for your time!!
vj
Well done!
Both suggestions worked, the patch being the "easiest" is the route I have taken.
MUCH appreciation for your time!!
vj
UserID ,
Type , -- in/out
EventDatetime
or
UserID ,
InDatetime ,
OutDatetime
instead of
SELECT SUBSTRING(CAST(InMONamHour
--I would do
SELECT right(convert(varchar(19),
as it doesn't depend on any default settings.
for the nulls I assume you are putting a zero date in the field i.e. midnight 1 jan 1900
SELECT case when InMONamHour = '1 jan 1900' then null else right(convert(varchar(19),
or if you wanted to return spaces
SELECT case when InMONamHour = '1 jan 1900' then replcate(' ',8) else coalesce(right(convert(var