Convert varchar with timezone to a timestamp? (snowflake) - snowflake-cloud-data-platform

How can I convert the following varchar to a timestamp in snowflake?
2020-10-02 12:52:01 UTC

Try this:
SELECT
try_to_timestamp_ntz ('2020-10-02 12:52:01 UTC', 'YYYY-MM-DD HH24:MI:SS UTC')
FROM
DUAL;

Related

Converting Varchar to Timestamp in Snowflake

I have a date defined as varchar. The value of the date field is 19810801. When I am trying to convert into Timestamp using To_TimeSTAMP the value returned is 1970-08-20 06:18:21.000 +0000. I am not sure why snowflake is setting the year as 1970 and month as August.
Do you know what could be the issue here?
Here is my code -
Select to_timestamp_tz(EFFECTIVE_DATE) from Table1
The output returned is 1970-08-20 06:18:21.000 +0000 for the EffectiveDate 19810801
TO_TIMESTAMP is evaluating the value as epoch time:
https://www.epochconverter.com/
If you want to convert it as 1981-08-01, you can use this:
Select to_timestamp_tz('19810801','YYYYMMDD');

How to check DateTime format in SQL Server?

I want to create a function to find a DateTime format of string type.
For Example: -
I have a string as '07/09/2016 12:00 AM' and want it in DateTime format of this string and it should be like : - MM/dd/yyyy hh:mm tt format.
So, when I pass the DateTime as string to this function then function returns me a DateTime format using SQL function.
We can try using TRY_CONVERT to convert your date string into a bona fide datetime. Then, we can use FORMAT to display the datetime in the format you want to see.
SELECT FORMAT(TRY_CONVERT(datetime, '07/09/2016 12:00 AM'),
'MM/dd/yyyy hh:mm tt', 'en-US')
07/09/2016 12:00 AM
Demo
Try this i hope this will work for you
SELECT CAST(GETDATE() AS VARCHAR(19))
Also try this
SELECT CONVERT(VARCHAR(10),GETDATE(), 101) + right(CONVERT(VARCHAR(32),GETDATE(),100),8)

Getting datetime from SQL Server into correct format for Redshift

When I extract a timestamp column from SQL Server, it comes across like this:
Thu Jan 26 2017 19:00:00 GMT-0500 (Eastern Standard Time)
I need to get it into an acceptable Redshift format. For example:
2017-01-26 19:00:00
How do I do this kind of conversion?
For a timestamp column X, use the FORMAT() function while converting to DATETIME to return a VARCHAR value:
SELECT FORMAT(CAST(X AS DATETIME), 'yyyy-MM-dd HH:MM:ss')
Or, you can also use CONVERT() to return a DATETIME value:
SELECT CONVERT(DATETIME, X, 120)

Datatype in SQL Server for "yyyy-MM-dd HH:mm:ss.ffffff"

I have to save this yyyy-MM-dd HH:mm:ss.ffffff datetime format in MS SQL DB as datetime
so what should be the datatype for it ?
you can use datetime data type as you need 6digit then use
datetime2
datetime2 time range 00:00:00 through 23:59:59.9999999
SELECT convert(DATETIME2, getdate())
its output
2018-07-25 03:28:37.7300000
you can use datetime2(6) according to Dan Guzman comments
The default datetime2 precision is datetime2(7)

SQL SERVER how to convert a nvarchar field that contains 'dd/MM/yyyy HH:mm:ss' to datetime

How to convert a nvarchar field that contains 'dd/MM/yyyy HH:mm:ss' to datetime.
When i'm trying this conversion, it returns an error:
"The conversion of a nvarchar data type to a datetime data type resulted in an out-of-range value"
You want to do this first:
SET DATEFORMAT dmy;
GO
and then do the select.
SELECT convert(datetime, yourNVARCHARCol, 104)

Resources