AWS Athena Query date - amazon-web-services

I have date in the following format in a file:
January 2, 2020 8:15:32 AM UTC
How to query it using Athena? I am trying to query all the rows where date is greater than a specific date.
I don't see above mentioned date format in the documentation.

As #John Rotenstein said you will have problens if your file row has columns split by , because your date columns also uses ,.
Nevertheless here is how you can cast your string January 2, 2020 8:15:32 AM UTC to date in Athena.
Athena uses presto in the backend and you can use the parse_datetime with the corresponding format to convert your string to a date.
parse_datetime(string, format) → timestamp with time zone
WITH t(x) AS (VALUES 'January 2, 2020 8:15:32 AM UTC')
SELECT parse_datetime(x, 'MMM d, YYYY hh:mm:ss a z')
FROM t;
produces the output
"_col0"
"2020-01-02 08:15:32.000 UTC"

Related

Convert text column to timestamp in Amazon redshift

I have a text field "completed_on" with text values "Thu Jan 27 2022 11:55:12 GMT+0530 (India Standard Time)".
I need to convert this into timestamp.
I tried , cast(completed_on as timestamp) which should give me the timestamp but I am getting the following error in REDSHIFT
ERROR: Char/varchar value length exceeds limit for date/timestamp conversions
Since timestamps can be in many different formats, you need to tell Amazon Redshift how to interpret the string.
From TO_TIMESTAMP function - Amazon Redshift:
TO_TIMESTAMP converts a TIMESTAMP string to TIMESTAMPTZ.
select sysdate, to_timestamp(sysdate, 'YYYY-MM-DD HH24:MI:SS') as seconds;
timestamp | seconds
-------------------------- | ----------------------
2021-04-05 19:27:53.281812 | 2021-04-05 19:27:53+00
For formatting, see: Datetime format strings - Amazon Redshift.

Extract Month from Date Power BI

I currently have a date field with the format 01 January 2022, 04 February 2022 Etc
I am trying to create a column that pulls out the month in MMM format (JAN, FEB)
Using Month = Month('Current Week'[Created On])
This pulls the numbered date of the month (1,2)
I tried to add in format but this does not work as Month only allows 1 argument.
What else can I do to pull out the month format that I am looking for?
Try this one:
Month String =
UPPER(
FORMAT(
DATEVALUE('Current Week'[Created On]),
"mmm"
)
)

Generate dates from start date to end date

I need to generate the dates from start date and end date. For example, Start date is 11th March 2022 and the end date is 11th March 2023.
I have been able to generate the dates from 11th March 2022 to 1st March 2023 using the below formula in power query
let
StDt = [#"Grant date #(lf)(dd/mm/yyyy)"],
AllDates = {Number.From([#"Grant date #(lf)(dd/mm/yyyy)"])..Number.From([#"Vesting end date (each period)"])},
StofMonthDates =
List.Distinct(List.Select(List.InsertRange(List.Transform(AllDates, each Date.StartOfMonth(Date.From(_))),0,{[#"Grant date #(lf)(dd/mm/yyyy)"]}),each Number.From (_) >= Number.From(StDt)))
in
StofMonthDates
In the above query, Grant date means start date and Vesting end date means end date. I need to get the date as on the end date i.e., 11th March 2023 and not only the start of the month i.e., 1st March 2023
In Add Column section ,choose Custom Column and use following formula where Number.From transform your date column to its Corresponding number
={ Number.From([Start_Date])..Number.From([End_Date]) }
it generate numbers, then you should your numbers to date.

How to transform specific time entry into month in SAS

I have a dataset with a column "Day" that has very specific time entries like the following. How can I transform these entries into month?
From
Day
31MAY2019:00:00:00
29MAY2020:00:00:00
30APR2021:00:00:00
To
Day
May 2019
May 2020
Apr 2021
You just need to use the datepart() function to get extract the date from the datetime value.
data want;
format datetime datetime20. date monyy7.;
datetime = '31MAY2019:00:00:00'dt;
date = datepart(datetime);
run;
Keep in mind this doesn't add the space in between the month and year and is still a number format. If you want this as a character you can do the following:
data want;
format datetime datetime20.;
datetime = '31MAY2019:00:00:00'dt;
date = put(datepart(datetime),monname3.)||' '||put(datepart(datetime),year.);
run;

Power BI text to date in "mmm-yy" format

I have an excel file having a column with Text format values like Jan-18, Dec-19, Feb-20. I want to convert it to a date format but when I am trying to make this column a date format it printing 1/18/2021, 12/19/2021,2/20/2021. Basically its considering Jan as month(1), 18 as Date, & making all year as 2021 deafult.
Can someone help?
Original(text) After Date conversion Desired format
Jan-18 1/18/2021 01/01/2018
Feb-19 2/19/2021 01/02/2019
Mar-20 3/20/2021 01/03/2020
You can try,
DATE(2018, MONTH(convertedDate), 1)
This will convert your converted date to the first day of the relevant month in 2018. This is stored in Power BI as a datetime object. If you want to show that value in dd/MM/yyyy format you can do it by selecting correct Format in the top menu.
If you load in the Original column as text, try this trick:
Desired format = DATEVALUE ( "1-" & [Original] )
Appending the "1-" to the beginning gives it a day of the month and forces it to recognize the last digits as the year.
I faced with the same issue , while changing the format instead of using Date use the last option i.e "Using Locale... " -> in that change the Data Type from Text -> Date, and Locale to English(United Kingdom) -> Hit ok. Earlier Format ,What should be the desired format .This worked for me!