diff --git a/RepoDb.Core/RepoDb.Tests/RepoDb.UnitTests/Extensions/QueryFields/LiteralQuerFieldTest.cs b/RepoDb.Core/RepoDb.Tests/RepoDb.UnitTests/Extensions/QueryFields/LiteralQuerFieldTest.cs
new file mode 100644
index 000000000..efd5c3459
--- /dev/null
+++ b/RepoDb.Core/RepoDb.Tests/RepoDb.UnitTests/Extensions/QueryFields/LiteralQuerFieldTest.cs
@@ -0,0 +1,31 @@
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using RepoDb.Extensions.QueryFields;
+
+namespace RepoDb.UnitTests.Extensions.QueryFields
+{
+    [TestClass]
+    public class LiteralQuerFieldTest
+	{
+        [TestMethod]
+        public void TestLiteralQueryFieldConstructor()
+        {
+            // Prepare
+            var literalQueryField = new LiteralQueryField("[Id] BETWEEN 10 AND 100");
+
+            // Assert
+            Assert.AreEqual("fake", literalQueryField.Field.Name);
+            Assert.AreEqual("[Id] BETWEEN 10 AND 100", literalQueryField.Literal);
+        }
+
+        [TestMethod]
+        public void TestLiteralQueryFieldGetString()
+        {
+            // Prepare
+            var literalQueryField = new LiteralQueryField("[Id] BETWEEN 10 AND 100");
+
+            // Assert
+            Assert.AreEqual("[Id] BETWEEN 10 AND 100", literalQueryField.GetString(0, null));
+        }
+    }
+}
+
diff --git a/RepoDb.Core/RepoDb/Extensions/QueryFields/LiteralQueryField.cs b/RepoDb.Core/RepoDb/Extensions/QueryFields/LiteralQueryField.cs
new file mode 100644
index 000000000..ba619738c
--- /dev/null
+++ b/RepoDb.Core/RepoDb/Extensions/QueryFields/LiteralQueryField.cs
@@ -0,0 +1,56 @@
+using System;
+using System.Data;
+using RepoDb.Enumerations;
+using RepoDb.Interfaces;
+
+namespace RepoDb.Extensions.QueryFields
+{
+    /// 
+    /// Query field that uses exactl what is passed.
+    /// 
+    /// 
+    /// See sample code below that uses a BETWEEN function.
+    /// 
+    ///     var where = new LiteralQueryField("ColumnName BETWEEN 1 AND 10");
+    ///     var result = connection.Query<Entity>(where);
+    /// 
+    /// 
+	public class LiteralQueryField : QueryField
+    {
+        #region Properties
+
+        public string Literal { get; set; }
+
+        #endregion
+
+        #region Constructors
+
+        /// 
+        /// Creates a new instance of  object.
+        /// 
+        /// The content of the where as is.
+        public LiteralQueryField(string literal)
+            // Both of the parameters are actually ignored.
+            : base("fake", Operation.Equal, null, null)
+        {
+            Literal = literal;
+        }
+
+        #endregion
+
+        #region Methods
+
+        /// 
+        /// Gets the string representations (column-value pairs) of the current  object with the formatted-function transformations.
+        /// 
+        /// The target index.
+        /// The database setting currently in used.
+        /// The string representations of the current  object using the LOWER function.
+        public override string GetString(int index,
+            IDbSetting dbSetting) =>
+            Literal;
+
+        #endregion
+    }
+}
+