如何在将 SQL 字符串输入列之前或之后从中删除引号 (")?
How do I remove a quote(") from SQL string before or after inputting it into a column?
我在一列中拆分了一个姓名值,以便在另一列中提供名字和姓氏。有时我会在某人姓名的前面或开头看到引号 (")。如何删除该引号?
我尝试了一些实用的方法,但它在@fname 和@lname 的设置命令中返回了错误。
DECLARE @fname VARCHAR(100)
DECLARE @lname VARCHAR(100)
DECLARE @recnum as INT
DECLARE @i as int
SELECT @recnum = count(*) FROM dbo.medcor_weeklywire
SET @i = 1
WHILE @i <=@recnum
BEGIN
SELECT @fname = LTRIM(jw_employee_fname) where [sysid] = @i
SELECT @lname = LTRIM(jw_employee_lname) where [sysid] = @i
SET @fname = SELECT REPLACE(@fname,'"','')
SET @lname = SELECT REPLACE(@lname,'"','')
update [medcor_weeklywire]
SET [jw_employee_fname] = @fname, [jw_employee_lname] = @lname
END
要么从第二个语句中取出 SELECT
:
SET @fname = REPLACE(@fname,'"','')
或者将它们合并为一个 SELECT
:
SELECT @fname = REPLACE(LTRIM(jw_employee_fname),'"','') where [sysid] = @i
好吧,首先迈克尔,你的 Select 陈述是错误的。第二个你和白痴 LOL
DECLARE @fname VARCHAR(100)
DECLARE @lname VARCHAR(100)
DECLARE @recnum as INT
DECLARE @i as int
SELECT @recnum = count(*) FROM dbo.medcor_weeklywire
SET @i = 1
WHILE @i <=@recnum
BEGIN
SELECT @fname = LTRIM(jw_employee_fname) from medcor_weeklywire where [sysid] = @i
SELECT @lname = LTRIM(jw_employee_lname) from medcor_weeklywire where [sysid] = @i
update [medcor_weeklywire]
SET [jw_employee_fname] = REPLACE([jw_employee_fname], '"',''), [jw_employee_lname] = REPLACE([jw_employee_lname],'"','')
END
我建议您重新开始,不要使用需要很长时间的循环...
我在一列中拆分了一个姓名值,以便在另一列中提供名字和姓氏。有时我会在某人姓名的前面或开头看到引号 (")。如何删除该引号?
我尝试了一些实用的方法,但它在@fname 和@lname 的设置命令中返回了错误。
DECLARE @fname VARCHAR(100)
DECLARE @lname VARCHAR(100)
DECLARE @recnum as INT
DECLARE @i as int
SELECT @recnum = count(*) FROM dbo.medcor_weeklywire
SET @i = 1
WHILE @i <=@recnum
BEGIN
SELECT @fname = LTRIM(jw_employee_fname) where [sysid] = @i
SELECT @lname = LTRIM(jw_employee_lname) where [sysid] = @i
SET @fname = SELECT REPLACE(@fname,'"','')
SET @lname = SELECT REPLACE(@lname,'"','')
update [medcor_weeklywire]
SET [jw_employee_fname] = @fname, [jw_employee_lname] = @lname
END
要么从第二个语句中取出 SELECT
:
SET @fname = REPLACE(@fname,'"','')
或者将它们合并为一个 SELECT
:
SELECT @fname = REPLACE(LTRIM(jw_employee_fname),'"','') where [sysid] = @i
好吧,首先迈克尔,你的 Select 陈述是错误的。第二个你和白痴 LOL
DECLARE @fname VARCHAR(100)
DECLARE @lname VARCHAR(100)
DECLARE @recnum as INT
DECLARE @i as int
SELECT @recnum = count(*) FROM dbo.medcor_weeklywire
SET @i = 1
WHILE @i <=@recnum
BEGIN
SELECT @fname = LTRIM(jw_employee_fname) from medcor_weeklywire where [sysid] = @i
SELECT @lname = LTRIM(jw_employee_lname) from medcor_weeklywire where [sysid] = @i
update [medcor_weeklywire]
SET [jw_employee_fname] = REPLACE([jw_employee_fname], '"',''), [jw_employee_lname] = REPLACE([jw_employee_lname],'"','')
END
我建议您重新开始,不要使用需要很长时间的循环...