Skip to content

Commit d935545

Browse files
committedAug 8, 2024·
CAST(@A AS DATE) handling for Snowflake - fixes #372
1 parent 4b3cd01 commit d935545

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed
 

‎inst/csv/replacementPatterns.csv

+4
Original file line numberDiff line numberDiff line change
@@ -1287,6 +1287,10 @@ snowflake,"HASHBYTES('MD5',@a)","MD5(@a)"
12871287
snowflake,"CONVERT(VARBINARY, @a, 1)","CAST(CONCAT('x', @a) AS BIT(32))"
12881288
snowflake,"CONVERT(DATE, @a)","TO_DATE(@a, 'yyyymmdd')"
12891289
snowflake,"CONVERT(VARCHAR,@date,112)","TO_CHAR(@date, 'YYYYMMDD')"
1290+
snowflake,"CAST('@a' AS DATE)","TO_DATE('@a', 'YYYYMMDD')"
1291+
snowflake,"CAST('@a' + @b AS DATE)","TO_DATE('@a' + @b, 'YYYYMMDD')"
1292+
snowflake,"CAST(@a + '@b' AS DATE)","TO_DATE(@a + '@b', 'YYYYMMDD')"
1293+
snowflake,"CAST(CONCAT(@a) AS DATE)","TO_DATE(CONCAT(@a), 'YYYYMMDD')"
12901294
snowflake,GETDATE(),CURRENT_DATE
12911295
snowflake,+ '@a',|| '@a'
12921296
snowflake,'@a' +,'@a' ||

‎tests/testthat/test-translate-snowflake.R

+4
Original file line numberDiff line numberDiff line change
@@ -210,5 +210,9 @@ test_that("translate sql server -> snowflake bitwise and", {
210210
expect_equal_ignore_spaces(sql, "SELECT BITAND((a+b) , c/123) FROM table ;")
211211
})
212212

213+
test_that("translate sql server -> Snowflake CAST(AS DATE)", {
214+
sql <- translate("CAST('20000101' AS DATE);", targetDialect = "snowflake")
215+
expect_equal_ignore_spaces(sql, "TO_DATE('20000101', 'YYYYMMDD');")
216+
})
213217

214218
# rJava::J('org.ohdsi.sql.SqlTranslate')$setReplacementPatterns('inst/csv/replacementPatterns.csv')

0 commit comments

Comments
 (0)
Please sign in to comment.