SQL Server - funcion sql server

 
Vista:

funcion sql server

Publicado por Jona (1 intervención) el 10/11/2006 15:31:13
¿Existe alguna función de SQL Server que me permita insertar valores con decimales dentro de una clausula INSERT o UPDATE?

Osea algo parecido a MONTH, YEAR, DAY para tratar fechas, pero en este caso, para insertar valores tipo moneda, o decimales.

Me explico:

detalle = “producto x”
cantidad = 3
precio = 10105,74

str_SQL = “insert detalle_cotizacion(detalle, cantidad, precio) values(‘” & detalle & “, ” & cantidad & “, “ & precio & “)”

El problema es que de esa forma me trata de insertar 4 registros por la famosa coma, lo mismo pasa en un update, y no quiero hacer conversiones a cantidades sin decimales (Clng(variable)) , ni menos cambiar la configuración regional del equipo.

Saludos.
Jonathan.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:funcion sql server

Publicado por Isaías (3308 intervenciones) el 10/11/2006 21:01:15
SQL Server, siempre guardara los decimales con PUNTO, nunca con coma.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE: Funcion de SQL SERVER

Publicado por Carlos E. Herrera (6 intervenciones) el 13/11/2006 19:29:18
Hola a todos que estan vinculados a esta respuesta, les aclaro

1) SQL en cualquiera de sus verciones maneja datos numerico de cifras con el siguiente formato numeric (16,9) el punto identifica el decimal o los decimales que lleva esta cifra (o float) es decir para que al reflejar el dato al usuario (metodo Luck And Field) te aparesca comas en ves de puntos deveras fumartela o mejor dicho construir la sentencia... Ejemplo:

digamos que queremos ver el monto de la tabla facturacion y colocarle un alias de total ademas de formatear el monto sustituyendo los puntos por las comas el query empleado o total seria el siguiente:

SELECT REPLACE(TOT_NET,'.',',') AS TOTAL, * FROM FACTURA

2) En Visual Basic seria (por lo menos yo lo hago asi) capturo el dato en una variable ya sea para guardar u actualizar (INSERT ò UPDATE) y luego le aplico

StrSQL = "INSERT INTO FACTURA (Cod_Fac, Tot_Net) VALUES ('FV001', "
StrSQL = StrSQL & "'" & REPLACE(TRIM$(oVariable),',','.') &"')

Y EL RESTO DE LA SENTENCIA O LINEA DE CODIGO PARA HACER POSIBLE LA OPERACION O SINO

StrSQL = "INSERT INTO FACTURA (Cod_Fac, Tot_Net) VALUES ('FV001', "
StrSQL = StrSQL & "STR ( "& oValor &",9 ,2 ) )"

ESPERO LES SIRVA CUALQUIER COSA ME AVISAN AMI CORREO QUE LES ANEXO
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar