Sql server 2008 在SQL Server 2008中的列中添加

Sql server 2008 在SQL Server 2008中的列中添加,sql-server-2008,Sql Server 2008,我需要在SQL表中的字符串中添加一个磅符号 我有一个创建表的存储过程。一旦创建了该表,我需要更新on字段以在现有字符串之前添加E 我试过这个: DECLARE @intro VARCHAR = 'E[#]' UPDATE [regKioskdb].[dbo].[MOBapptTest] SET emrID =(@intro + emrID) 这会在现有字符串之前添加一个E,但不会在。还有别的办法吗 当有人扫描卡片时,我们将此表用作查找。该卡的格式为ehpublive0000000。我们尝试使用

我需要在SQL表中的字符串中添加一个磅符号

我有一个创建表的存储过程。一旦创建了该表,我需要更新on字段以在现有字符串之前添加E

我试过这个:

DECLARE @intro VARCHAR = 'E[#]'
UPDATE [regKioskdb].[dbo].[MOBapptTest]
SET emrID =(@intro + emrID)
这会在现有字符串之前添加一个E,但不会在。还有别的办法吗

当有人扫描卡片时,我们将此表用作查找。该卡的格式为ehpublive0000000。我们尝试使用javascript从输入中删除E,但扫描时没有任何运气

场景:用户在信息亭扫描网页上的卡片。网页查询数据库-从卡片扫描中查找号码。如果找到号码,它会在网页上返回一条消息。因为我没有幸在我创建的表中添加E,所以每次扫描都会显示为未找到,即使帐号在数据库中没有E

提前谢谢。

试试这个

UPDATE [regKioskdb].[dbo].[MOBapptTest]
SET emrID = 'E' + CHAR(35) + emrId

显然,首先要测试它。调试101:PRINT@intro;在尝试更新表之前,该值会被截断……事实上。E[]的varchar就是E,实际上是varchar1。你应该把它作为一个答案@Aaron,因为这是真正的原因。谢谢你们的提示。我正处于试用状态,边学习边学习。如果E来自一个变量或参数,可能是由最终用户提交的,这对我没有帮助。它还假设字符本身是问题所在,而这根本不是问题所在。那么,您确定它以正确的形式将其保存到存储过程中了吗?你做过类似SELECT@intro的事情吗?CHAR35工作得很好。我应该很清楚,在存储过程中,我正在从数据库的另一个表中提取帐号。来自卡片扫描仪/网站的输入仅用于将扫描卡片的人与其在数据库中的帐户进行匹配。@user1623347这不是修复方法。声明@into VARCHAR='E'+CHAR35;打印@intro@阿伦伯特兰:我不确定我的打印是否正确。当我将代码更改为此并运行存储过程时,磅符号没有显示。我把它改为声明@intro VARCHAR2='E'+CHAR35,它成功了。好奇的是,如果我从@Ruslan得到了相同的结果,那么使用DECLARE语句对他的代码有什么好处?