How to add dynamic column with date column in access database - mysql

How to add dynamic column with date column. In first column i have date and in second column i have Integer value. like: Column A has date value and column b is having numbers, Expecting output in date with increase of date.
Example: Column A :- 10/20/2017 , Column B is 5. Output Should be 10/25/2017.

Dynamic date field for MS Access, this works on Access 2007, 2010.
Here is how:
Date1 of type Date/Time
NbrDays of type Number
Date2 of type Calculated
Expression: IIf((IsNull([date1]) Or IsNull([NbrDays])),Null,[date1]+[NbrDays])
Result Type: Date/Time.
This expression handles null values as well, see illustration.

Related

SSRS how to sort date in MM/YY format?

I'm stuck at this point, I get my data from a stored procedure with the date format as MM/YY, but SSRS sorted my date in a wrong way: 01/2019, 02/2019,..., 12/2019;01/2018, 02/2018,...
So I'd like to do to have my data in the right order.
Since your date is converted to MM/YYYY format, the data is text and not numerical so it's sorted one character at a time rather than by the value.
If you want to sort by year and then by month, you would need a separate SORT option for each that parses the text into separate month and year values.
=RIGHT(Fields!DOB.Value, 4)
This gets the 4 characters from the right of the text which is the year in the data.
=LEFT(Fields!DOB.Value, 2)
LEFT , 2 gets the first two characters of the string - the month in the field.
Create a new column in the query where you convert the string date to a date data-type and sort on that e.g.
select
convert(date, '01/'+ MyDateStringColumn) MyDateColumn
from MyTable
order by MyDateColumn

To fetch based on filter by expression component in ETL

I have filter condition based on date. where it needs fetch records between given dates.
in filter by expression I gave as below
the field is date datetype and format is YYYYMMDD
fieldname >= '20020502' and fieldname <= '20050430'
but records are not passed next component.
Did I gave the condition righty?
I have another method which always works....
Use date_diff function for the same....
Condition will be provided as below :
Date_diff(date1,fieldname).days >0 & & date_diff(date2,fieldname).days<0
Try typecasting the dates.
(date("YYYYMMDD"))fieldname => '20020502' and (date("YYYYMMDD"))fieldname <= '20050430'
The first point you need to check here is what is the data type of the field.
If the field is a date or datetime type then use directly the functions like date_diff() or so.
If the field is of type string or decimal then a typecasting to date or datetime is necessary before you use the functions like date_diff().
Thanks
Arijit
As you mentioned that
field is already in date datatype with YYYYMMDD format
You only have to typecast the right-hand-side of your expression.
my_date >= (date("YYYYMMDD")) "20150102" && my_date <= (date("YYYYMMDD")) "20150105"
Considered input data and output is:
20150101
20150102 --> with the above condition goes to output
20150103 --> with the above condition goes to output
20150104 --> with the above condition goes to output
20150105 --> with the above condition goes to output
20150106

Select values from Access 2010 query calculated field

I have a query in Access where I want to select a range of dates from a calculated field in the query.
The field is populated using the following expression:
DueDate: DateAdd("m",-([PMI job lookup table]![Frequency]),[Date])
I'd like to select everything from a certain month and year from this field.
For example I'd like to list all the jobs in say May 2014.
In your query, add this criteria for the field of DueDate:
Between DateSerial(2014,5,1) And DateSerial(2014,5+1,0)
This will filter for dates between 2014-05-01 and 2014-05-31.

SQL Date_Format Month Number to Month Name

I have an issue in regards to trying to run a sql statement that returns the values of a column called month(of which I have defined as a varchar type, but only has integer values 1-12) as the associated month name. So, for example, the query would return a value of 1 as january. The issue I have is I am trying to use date_format
select date_format(month,'%M')from db.table name
but the values return as null. I was informed that the month values have to be a 'date' type in order for date_format to work. However, the values in this column 'month' are simply integers. So I run into the issue of not being able to assign the date type to the month columns because they're just integers and not correct format for dates? How could I take these single integers and return the month then?
Syntax
DATE_FORMAT(date,format)
Requires date as first param
Check out MySQL date function here:
http://www.w3schools.com/sql/sql_dates.asp
For this you can use this,
SELECT col as MonthNumber,
MONTHNAME(STR_TO_DATE(col, '%m')) as MonthName
FROM table_name
WHERE col <= 12

how to change the column data type, so the date is not missup?

I have a column with varchar(50) data type, but it stores date in this format 1/1/2000.
I changed the data type to date using:
alter table test_table modify date date;
but this changed the data values from 1/1/2000 to 1/1/0001 12:00:00 AM.
I want to change the data type to date but the data should not get messed up like this.
Step 1 - add a new column of datatype date.
Step 2 - use str_to_date() to update your new column. This allows you to specify the format you are using.
Step 3 - drop the old column
Step 4 - rename the new column
UPDATE test_table SET column=STR_TO_DATE(column,'%m/%d/%Y')
Just use this and change the format to match what you have,can`t tell what is the day or month.
It will modify your column to date type,no need to recreate another column.
The parameters