SQL不允许我替换SELECT语句中的引号
我试图从SQL导出中的列中删除双引号SQL不允许我替换SELECT语句中的引号,sql,Sql,我试图从SQL导出中的列中删除双引号“,但在研究了正确的方法后,出现了一个错误……这是我尝试过的方法之一 SELECT '293453' as custnum, REPLACE(Orders.Order_Comments, '"', '') as FULFILL1, OrderDetails.OrderID as OrderID2, etc. 由此产生的错误是: SQL无效:replace函数的参数1的参数数据类型文本无效 试试这个: select REPLACE(i
“
,但在研究了正确的方法后,出现了一个错误……这是我尝试过的方法之一
SELECT
'293453' as custnum,
REPLACE(Orders.Order_Comments, '"', '') as FULFILL1,
OrderDetails.OrderID as OrderID2, etc.
由此产生的错误是:
SQL无效:replace函数的参数1的参数数据类型文本无效
试试这个:
select REPLACE(isnull(Orders.Order_Comments,''), '"', '') as order_comments
from orders
试试这个:
select REPLACE(isnull(Orders.Order_Comments,''), '"', '') as order_comments
from orders
您的
Orders.Order\u Comments
列的类型为。您不能对该数据类型使用REPLACE()函数。它仅适用于char/varchar/nchar/nvarchar
要解决此问题,最好的方法是更改表以使用varchar(max)
列。无论如何,text
类型已取消加密。但是,如果这不是一个选项,则必须在查询中强制转换它:
REPLACE(CAST(Orders.Order_Comments as varchar(max)), '"', '')
请注意,这可能非常慢。您的
订单。订单注释列属于该类型。您不能将REPLACE()函数用于该数据类型。它仅适用于char/varchar/nchar/nvarchar
要解决此问题,最好的方法是更改表以使用varchar(max)
列。无论如何,text
类型已取消加密。但是,如果这不是一个选项,则必须在查询中强制转换它:
REPLACE(CAST(Orders.Order_Comments as varchar(max)), '"', '')
请注意,这可能非常缓慢。请查看以下答案:
文本
数据类型不能与替换
一起使用,因此需要将其强制转换为VARCHAR(MAX)
看看这个答案:
文本
数据类型不能与替换
一起使用,因此需要将其强制转换为VARCHAR(MAX)
order\u comments
字段的数据类型是什么?我想知道如果该字段为null
…会发生什么情况?这是什么?@prashantthakre,这是一个字符串文本:)。然后首先,您应该从您的选择中删除'293453'作为custnum,
statement@prashantthakre不,他用字符串文字做的是很好,order\u comments
字段的数据类型是什么?我想知道如果该字段曾经是null
,会发生什么情况?这个“293453”是什么?@prashantthakre,这是一个字符串文本:)。然后首先你应该从你的选择中删除作为custnum的“293453”
statement@prashantthakre不,他在拿圣·琼斯做什么环文字是完全可以的