diff --git a/exposed-java-time/src/main/kotlin/org/jetbrains/exposed/sql/javatime/JavaDateFunctions.kt b/exposed-java-time/src/main/kotlin/org/jetbrains/exposed/sql/javatime/JavaDateFunctions.kt index a24226a0aa..d068c50bed 100644 --- a/exposed-java-time/src/main/kotlin/org/jetbrains/exposed/sql/javatime/JavaDateFunctions.kt +++ b/exposed-java-time/src/main/kotlin/org/jetbrains/exposed/sql/javatime/JavaDateFunctions.kt @@ -3,6 +3,7 @@ package org.jetbrains.exposed.sql.javatime import org.jetbrains.exposed.sql.* import org.jetbrains.exposed.sql.Function import org.jetbrains.exposed.sql.vendors.MysqlDialect +import org.jetbrains.exposed.sql.vendors.SQLServerDialect import org.jetbrains.exposed.sql.vendors.currentDialect import java.time.Duration import java.time.Instant @@ -35,6 +36,7 @@ object CurrentDate : Function(JavaLocalDateColumnType.INSTANCE) { override fun toQueryBuilder(queryBuilder: QueryBuilder) = queryBuilder { +when (currentDialect) { is MysqlDialect -> "CURRENT_DATE()" + is SQLServerDialect -> "GETDATE()" else -> "CURRENT_DATE" } } diff --git a/exposed-jodatime/src/main/kotlin/org/jetbrains/exposed/sql/jodatime/DateFunctions.kt b/exposed-jodatime/src/main/kotlin/org/jetbrains/exposed/sql/jodatime/DateFunctions.kt index 2151e5b346..4e5ff69ff4 100644 --- a/exposed-jodatime/src/main/kotlin/org/jetbrains/exposed/sql/jodatime/DateFunctions.kt +++ b/exposed-jodatime/src/main/kotlin/org/jetbrains/exposed/sql/jodatime/DateFunctions.kt @@ -3,6 +3,7 @@ package org.jetbrains.exposed.sql.jodatime import org.jetbrains.exposed.sql.* import org.jetbrains.exposed.sql.Function import org.jetbrains.exposed.sql.vendors.MysqlDialect +import org.jetbrains.exposed.sql.vendors.SQLServerDialect import org.jetbrains.exposed.sql.vendors.currentDialect import org.joda.time.DateTime @@ -26,6 +27,7 @@ object CurrentDate : Function(DateColumnType(false)) { override fun toQueryBuilder(queryBuilder: QueryBuilder) = queryBuilder { +when (currentDialect) { is MysqlDialect -> "CURRENT_DATE()" + is SQLServerDialect -> "GETDATE()" else -> "CURRENT_DATE" } } diff --git a/exposed-kotlin-datetime/src/main/kotlin/org/jetbrains/exposed/sql/kotlin/datetime/KotlinDateFunctions.kt b/exposed-kotlin-datetime/src/main/kotlin/org/jetbrains/exposed/sql/kotlin/datetime/KotlinDateFunctions.kt index 11d7267d26..ab136c8a6f 100644 --- a/exposed-kotlin-datetime/src/main/kotlin/org/jetbrains/exposed/sql/kotlin/datetime/KotlinDateFunctions.kt +++ b/exposed-kotlin-datetime/src/main/kotlin/org/jetbrains/exposed/sql/kotlin/datetime/KotlinDateFunctions.kt @@ -8,6 +8,7 @@ import kotlinx.datetime.LocalDateTime import org.jetbrains.exposed.sql.* import org.jetbrains.exposed.sql.Function import org.jetbrains.exposed.sql.vendors.MysqlDialect +import org.jetbrains.exposed.sql.vendors.SQLServerDialect import org.jetbrains.exposed.sql.vendors.currentDialect import kotlin.time.Duration import kotlin.time.ExperimentalTime @@ -39,10 +40,11 @@ object CurrentDateTime : Function(KotlinLocalDateTimeColumnType.I operator fun invoke() = this } -object CurrentDate : Function(KotlinLocalDateTimeColumnType.INSTANCE) { +object CurrentDate : Function(KotlinLocalDateColumnType.INSTANCE) { override fun toQueryBuilder(queryBuilder: QueryBuilder) = queryBuilder { +when (currentDialect) { is MysqlDialect -> "CURRENT_DATE()" + is SQLServerDialect -> "GETDATE()" else -> "CURRENT_DATE" } }