![](/img/trans.png)
[英]Implicit conversion from data type varchar(max) to varbinary(max) is not allowed. Use the CONVERT function to run this query
[英]Implicit conversion from data type varchar to varbinary(max) is not allowed. Use the CONVERT
我收到以下错误:
“不允许从数据类型varchar到varbinary(max)的隐式转换。使用CONVERT函数运行此查询。”
注意:
@transientCartData
定义为varbinary(max)
@savedCartData
定义为varbinary(max)
查询:
exec [ecomm].[expiry_save_cart2_v1]
@id=80094,
@lastUpdated='2016-05-11 14:23:42.637',
@transientCartExpiryIntervalInMin='45',
@session_id='5C632166-D7D6-4F51-A87F-EED41376EEA7',
@version='TEST_VERSION',
@associated_slots='Null',
@account_id='TEST_ACCOUNT_ID',
@cookie='Null',
@transientCartData= 'TEST_DATA',
@savedCartData= 'TEST_DATA',
@data2='NULL',
@is_pricing_needed='1',
@savedCartExpiryIntervalInDays='14',
@persistentCartExpiryIntervalInDays='1',
@cart_type='PERSISTENT',
@customerAccountId=TEST_ACCOUNT_ID
然后,当我尝试使用@transientCartData = CONVERT(varbinary, 'TEST_DATA', 1)
,我收到此错误:
关键字“CONVERT”附近的语法不正确。
SQL-Server具有以下Convert语法。
CONVERT(data_type [(length)],表达式[,style])
由于样式设置为1,您的代码失败。
如果data_type是二进制类型,则表达式必须是字符表达式。 表达式必须由偶数个十六进制数字组成(0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,a,b,c ,d,e,f)。 ...
您需要将其设置为0 (默认值)。
将ASCII字符转换为二进制字节或二进制字节转换为ASCII字符......
示例转换用法,产生0x544553545F44415441
Declare @vb as varbinary(max)
Set @vb = CONVERT(varbinary(max), 'TEST_DATA', 0)
select @vb
CONVERT具有以下MySQL语法:
CONVERT(expr,type),CONVERT(expr USING transcoding_name)
调用存储过程使用MySQL中的Call 。
CALL sp_name([parameter [,...]])
用法的一个例子是:
mysql> SET @increment = 10;
mysql> CALL p(@version, @increment);
mysql> SELECT @version, @increment;
+--------------+------------+
| @version | @increment |
+--------------+------------+
| 5.5.3-m3-log | 11 |
+--------------+------------+
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.