Index: tol/stdlib/data/db/engine/_sql.tol
===================================================================
--- tol/stdlib/data/db/engine/_sql.tol	(revision 8640fff82d8b120c0b17dac49c637b2c5816316b)
+++ tol/stdlib/data/db/engine/_sql.tol	(revision 72b77ba0c60027a43377110af387c12792783549)
@@ -349,4 +349,14 @@
 //////////////////////////////////////////////////////////////////////////////
 
+//////////////////////////////////////////////////////////////////////////////
+Text SqlFormatDating(
+  Text field,  // Nombre del campo de tipo fecha en la BBDD
+  Text fecOri, // Granularidad de las fechas del campo
+  Text fecDes, // Granularidad de las fechas de la expresión resultante
+  Real gestor) // Gestor en el que va la expresión
+//////////////////////////////////////////////////////////////////////////////
+{
+ ""
+};
 
 //////////////////////////////////////////////////////////////////////////////
@@ -431,5 +441,5 @@
     EQ(gestor, GesOra), "to_char("+ txt +")",
     EQ(gestor, GesMys), "cast("+ txt +" as char)",
-    EQ(gestor, GesPos), "to_char("+ txt +")",
+    EQ(gestor, GesPos), "cast("+ txt +" as char varying)",
     EQ(gestor, GesTer), "rtrim(cast("+ txt +" as char(255)))",    
     EQ(gestor, GesAcc), "SqlConvertText. Access. Opción por implementar."
@@ -469,5 +479,5 @@
      Gestor==GesMic, "STDEV("+Field+")",
      Gestor==GesMys, "STD("+Field+")",
-	 Gestor==GesPos, "STDDEV("+Field+")",
+     Gestor==GesPos, "STDDEV("+Field+")",
      1,              "To Implement"
    )
@@ -487,4 +497,5 @@
      Gestor==GesPos, "MOD("+Divider+", "+Divisor+")",
      Or(Gestor==GesMic, Gestor==GesMys), Divider+" % "+Divisor,
+     Gestor==GesTer, "MOD("+Divider+", "+Divisor+")",
      1,              "To Implement"
    )
@@ -1705,2 +1716,42 @@
 //////////////////////////////////////////////////////////////////////////////
 
+//////////////////////////////////////////////////////////////////////////////
+Text SqlSelectDual(Real gestor)
+//////////////////////////////////////////////////////////////////////////////
+{
+  Text Case
+  (
+    EQ(gestor, GesMic), "", // não implementado
+    EQ(gestor, GesOra), " FROM DUAL",
+    EQ(gestor, GesMys), "",
+    EQ(gestor, GesPos), "", // não implementado
+    EQ(gestor, GesTer), "", // não implementado
+    EQ(gestor, GesAcc), "" // não implementado
+  )
+};
+//////////////////////////////////////////////////////////////////////////////
+PutDescription(
+"Retorna a senteça de tabela default.
+", SqlSelectDual);
+//////////////////////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////////////////
+Text SqlCastExprAsReal(Text expr, Real gestor)
+//////////////////////////////////////////////////////////////////////////////
+{
+  Text Case
+  (
+    EQ(gestor, GesMic), "SqlCastExprAsReal. MSSql. Opción por implementar.",
+    EQ(gestor, GesOra), "to_number("+expr+") ",
+    EQ(gestor, GesMys), "POWER("+expr+",1.0) ",
+    EQ(gestor, GesPos), "SqlCastExprAsReal. PostGres. Opción por implementar.",
+    EQ(gestor, GesTer), "SqlCastExprAsReal. Teradata. Opción por implementar.",
+    EQ(gestor, GesAcc), "SqlCastExprAsReal. Access. Opción por implementar."
+  )
+};
+//////////////////////////////////////////////////////////////////////////////
+PutDescription(
+"Retorna la sentencia que hace una conversión de una expresión (puede ser 
+un número o una combinación de columnas hacia un número.
+", SqlCastExprAsReal);
+//////////////////////////////////////////////////////////////////////////////
