Convert Timestamp to local time in MySQL - mysql

I have a table in MySQL
Below is the structure of the table.. in that I have 2 column Date and Time and the timestamp is based on the country column.. I would like to convert this time into IST.. can any one help me how can we do this without a mapping table..

Related

Moving data from datetime column to date column

In MySQL, I have a column with the datetime data type and I would like to transfer the data into a column with the date datatype. My goal is to have a new column that only containes the date without the time. I have already created a new column with the date data type but I don't know how to most efficiently transfer the data from one column to the other. Also, would I run into compatibility issues trying to transfer datetime data into a date column?
Mysql auto converts to the date format if you transfer the date but you could use DATE(datetime) as format
UPDATE table SET dateColumn = DATE(dateTimeColumn);
So dateColumn is the new column here and this is not going to give compatibility issues.

convert multiple epoch time to date in sql together

I am having`a whole mysql table of approx 40,000 rows with a column named 'epoch_time' and there is epoch time in it and I want to convert that whole table's 'epoch_time' to a equivalent 'date' together in a single sql query and I'm doing this is in php_my_admin . Thanks in advance.
I guess by epochtime you mean UNIX-style timestamps, that is, number of seconds since 1970-01-01T00:00Z. If my guess is wrong, so is the rest of my answer.
First you add a new column to the table.
ALTER TABLE mytable ADD COLUMN datestamp DATETIME AFTER epochtime;
This names the new column datestamp and puts it right after epochtime in the list of columns.
Then you update the whole table to populate the new column from the old using FROM_UNIXTIME(). Omitting the WHERE clause makes the update work on the whole table (careful!).
UPDATE mytable SET datestamp = FROM_UNIXTIME(epochtime);
Finally, if you wish you can drop the old column.
UPDATE TABLE mytable DROP COLUMN epochtime;
If I were you I'd try all this on a copy of your database to ensure it is correct before doing it on your production database.
If your epochtime values already have the TIMESTAMP data type, they are already stored internally as UTC (f/k/a GMT) times. The update operation I suggested will convert them to local time according to the settings on your server.
If your application has users in multiple time zones, you may wish to keep using the TIMESTAMP datatype: it honors time zone settings. If your epoch times are stored in an INT column, you can create your new column with the TIMESTAMP rather than DATETIME type by substituting this line for the first one in my instructions above.
ALTER TABLE mytable ADD COLUMN datestamp TIMESTAMP AFTER epochtime;

Missing data on particular date

mysql query to find data entry not present in table for particular date
I wish to find particular fridays date whose entru is not present in the table
You can query the things that exist in the data. So to find missing dates, you can create a table with all dates in your desired date range and make a query which selects those dates that do not exists in your other table.

mysql - convert unix timestamps to datetime and how add other columns to the query?

mysql - I have a table , a column of unix timestamps called time, which I have already changed to datetime format, but I can't select other columns of my table.
To change the unix timestamps I have used the following statement:
SELECT
from_unixtime (time)
FROM
calllog
and changed to datetime format successfully, but when I add other columns to the select query the result is 1 in all the time columns. What can be done?

I need to select a timestamp and insert a date

I have a timestamp in a database table. Now everytime a record is amended the timestamp changes - this isn't really what I want as the record represents a sale so everytime the data is amended it looks like the sale time has changed! Thus I have added a new field to the database table called 'sale_date' and I want to select the timestamp field of that record, called 'sale_time' and convert the timestamp to the format dd/mm/yyyy hh:mm:ss. and insert it into the new 'sale_date' field (which is text not date)
Any ideas? I'm rubbish at mysql.
If I haven't explained myself well please say.
The definition of your timestamp column (one that changes on updates) constains ON UPDATE CURRENT_TIMESTAMP clause. Remove it (ALTER TABLE) and it will stop updating.
And please, pleasee, please, do not ever store dates as text.