Ingresar Símbolos especiales en Sql

Esta vez acudo a ud por que tengo una duda que espero ud me pueda ayudar a resolver mi problema es que desea insertar el símbolo de sumatoria (el que parece E) dentro de una base de datos en sql y tengo entendido que la forma de hacerlo es con insert into tabla values (N'Ex+2y') pero estoy ocupando c# y al momento de hacer la llamada la hago desde un procedimiento almacenado en el que ocupo constantes osea lo manejo así
Proc tabla
(
@division nvarchar(20)
)
insert into tabla values(@division)
y mi acceso desde c# es
public void Inserta_Operacion(int Division)
{
        cn.Open();
        SqlCommand cmd = new SqlCommand("Inserta_Operacion", cn);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.Add("@Division", SqlDbType.NVarChar, 800).Value = Division;
        cmd.ExecuteNonQuery();
        cn.Close();
    }
¿Y de este modo no me acepta la cadena para que me acepte ese símbolo como hacer desde mi procedimiento o que solución usar para que me acepte el símbolo porque nada más me muestra? En vez de E(sumatoria)

1 respuesta

Respuesta
1
No entiendo si quieres que se pueble con el signo o que realice la operación.
El sumatorio se trata como una operación más en desarrollo
En SQL Server se realiza de forma diferente con SUM
Mira este enlace para ver si lo puedes realizar en un paso previo
http://msdn.microsoft.com/es-es/library/ms187810.aspx
Ok mira pues a lo mejor no me explique bien pero no quiero hacer sumas lo único que quiero es agregar el símbolo de sumatoria apenas me di cuenta que aquí tampoco lo guarda el que parece E que se usa en matemáticas para representar la suma de todos los elemento pero yo lo que voy a guardar en la base es la operación no se va a realizar ninguna por ejemplo lo que yoguardo en la base es Ex+2y(sumatoria de por +2y) o cualquier otra forma de operación 2+2 solo texto es lo que se guarda pero el símbolo de la sumatoria no lo guarda me lo coloca como aquí, ¿cómo? Que es lo que ud ha visto y es por eso que nos confundimos
pero le explico todo otra vez
deseo insertar el símbolo de sumatoria (el que parece E) dentro de una base de datos en sql y tengo entendido que la forma de hacerlo es con insert into tabla values (N'Ex+2y') pero estoy ocupando c# y al momento de hacer la llamada la hago desde un procedimiento almacenado en el que ocupo constantes osea lo manejo así
proc tabla
(
@division nvarchar(800)
)
insert into tabla values(@division)
y mi acceso desde c# es
public void Inserta_Operacion(int Division)
{
        cn.Open();
        SqlCommand cmd = new SqlCommand("Inserta_Operacion", cn);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.Add("@Division", SqlDbType.NVarChar, 800).Value = Division;
        cmd.ExecuteNonQuery();
        cn.Close();
    }
En SQL Server tendrás que buscar lo que corresponda con ese carácter en CHAR (integer_expression ), donde
ejemplo1
USE AdventureWorks2008R2;
GO
SELECT p.FirstName + ' ' + p.LastName, + CHAR(13)  + pe.EmailAddress
FROM Person.Person p JOIN Person.EmailAddress pe
ON p.BusinessEntityID = pe.BusinessEntityID
AND p.BusinessEntityID = 1;
GO
ejemplo 2
SET TEXTSIZE 0
-- Create variables for the character string and for the current
-- position in the string.
DECLARE @position int, @string char(8)
-- Initialize the current position and the string variables.
SET @position = 1
SET @string = 'New Moon'
WHILE @position <= DATALENGTH(@string)
   BEGIN
   SELECT ASCII(SUBSTRING(@string, @position, 1)),
      CHAR(ASCII(SUBSTRING(@string, @position, 1)))
   SET @position = @position + 1
   END
GO
¿Ok eso esta bien pero mi problema es como ingresarlo a la base de datos con las consultas no tengo problema pero al momento de ingresarlo no me muestra el símbolo solo me muestra una? Es que estuve viendo en internet y manejar la inserción de valores char como insert into tabla values (N'Ejuan') donde E es el símbolo de sumatoria pero al llamarlo desde un procedimiento almacenado no me permite hacerlo así y es lo que quisiera saber como hacerlo desde un procedimiento almacenado para insertar los símbolos
Gracias
Como lo hacen en este procedimiento almacenado con un carácter especial:
//Format of the IdString is ~71~5~88~1043~9
CREATE PROCEDURE dbo.SplitAndInsert
(
@userName varchar(100),
@idString varchar(100)
)
AS
SET NOCOUNT ON
DECLARE @splitstring varchar(100)
DECLARE @substring varchar(50)
Set @splitstring = @idString
WHILE (CHARINDEX('~',@splitstring ,1)<>0)
BEGIN
SET @substring = substring(@splitstring ,1,CHARINDEX('~',@splitstring ,1)-1)
-- Find Substring up to Separator
PRINT @substring
if @substring <> 0
INSERT INTO CH_APPLIED_INFO
(USER_NAME, JOB_ID)
VALUES (@userName,@substring)
SET @splitstring = substring(@splitstring ,Len(@substring)+2,Len(@splitstring ))
-- SET The Original String after the Split
END
SET NOCOUNT OFF
RETURN
¿Hola esta bueno el código gracias pero el problema es que lo sigue insertando normalmente por lo tanto me sigue insertando el signo sigma o de sumatoria como? Y no como es parece E y pues no me es funcional no habrá otra forma como puedo convertir una cadena de entrada en valor completamente char
Necesito saber como ingresar ese signo y ya probé el código adaptándolo pero sigue sin mostrarlo
Pues tiene que ser de la collatio y el idioma de la instalación. Mira por ese lado porque es una de las letras griegas clásicas y usada en ciencias sin problemas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas