首页 > 其他分享 >使用OPENJSON()在ADO使用报错:指定了非不二类型的表达式

使用OPENJSON()在ADO使用报错:指定了非不二类型的表达式

时间:2023-04-20 14:33:15浏览次数:54  
标签:SupplierId 报错 OPENJSON sql ADO where SupplierName

背景:工单管理功能,供应商信息字段是存的JSON字符串(数据库是2008R2版本),这个功能没有使用ES,现在业务需要增加供应商相关信息的查询

实现:利用OPENJSON函数

用ADO拼接Sql执行的时候报以上错误,复制sql出来放到DBeaver里面执行又没有问题,同样的sql,至于任务紧张不展开研究了, 换成存储过程就好了

               IF isnull(@SupplierId,'')<>''
	 	set @where = @where + ' and CHARINDEX(
	                    @SupplierId,
	                    stuff(
	                    (
		                    SELECT '',''+ SupplierId 
							FROM OPENJSON(SKUInfoJson) WITH (
	    	                    SupplierId varchar(10)
	                        )
		                    for xml path('''')
	                    ),1,1,'''')
	                )>0 '
	 	
	       IF isnull(@SupplierName,'')<>''
	 	set @where = @where + ' and CHARINDEX(
	                    @SupplierName,
	                    stuff(
	                    (
		                    SELECT '',''+ SupplierName 
							FROM OPENJSON(SKUInfoJson) WITH (
	    	                    SupplierName nvarchar(50)
	                        )
		                    for xml path('''')
	                    ),1,1,'''')
	                )>0 '
学习链接:https://learn.microsoft.com/en-us/sql/relational-databases/json/json-data-sql-server?view=sql-server-ver15

标签:SupplierId,报错,OPENJSON,sql,ADO,where,SupplierName
From: https://www.cnblogs.com/BOSET/p/17336724.html

相关文章

  • Dynamics CRM - 安装 SSRS CRM Reporting Extensions 时报错:Action Microsoft.Crm.Set
    一、问题场景:   在安装CRM2016的SSRSReportingExtensions时遇到以下报错:    二、解决方案:   a.根据提示,访问对应路径的文件夹:C:\ProgramFiles\MicrosoftSQLServer\MSRS13.MSSQLSERVER\ReportingServices,可以看到ReportManager文件夹并不存在; ......
  • tomcat6启动报错java.lang.ClassNotFoundException: 1catalina.org.apache.juli.FileH
    评:tomcat6启动报错在apache-tomcat-6.0.26/logs/catalina.out日志里面报错:java.lang.ClassNotFoundException:1catalina.org.apache.juli.FileHandler这个是由于apache-tomcat-6.0.26/bin/catalina.sh文件被修改过了,应该把下面的一行放在-Djava.util.logging.manager的前......
  • 大佬们,这个导包怎么写呀?本地执行可以,Linux执行报错
    大家好,我是皮皮。一、前言前几天在Python最强白银交流群【喜靓仔】问了一个Python路径处理的问题,这里拿出来给大家分享下。下图是他的代码:二、实现过程这里【小王子】给了一个答案,如下所示:代码如下:fromsysimportpathpath.insert(1,'../app/')importtesttest.test()顺利地......
  • 关于报错:Error adding module to project: setSdk: sdk '1.8' type 'JavaSDK' is not
    问题描述:Erroraddingmoduletoproject:setSdk:sdk'1.8'type'JavaSDK'isnotregisteredinProjectJdkTable(图片来自贴吧,看到有一个人问这个问题,然后自己碰到了但是忘了截图)说明当前项目在“ProjectJdkTable”里面是没有配置sdk1.8的。百度翻译过来就是:未在Project......
  • 长时间不操作报错原因 操作页面时报错Unexpected token <
    长时间不操作报错原因操作页面时报错Unexpectedtoken<  刷新后页面正常。这是因为页面请求的js文件资源找不到(判断此原因的元素:点击报错的时候network中会加载一个js文件,右键文件新标签页打开跳转到404文件即可确定是此问题)=========================================......
  • vue项目部署后 nginx配置重定向 大文件报错问题
      删除Nginx缓存文件试试?#rm-rf/usr/local/nginx/proxy_temp  注意proxy_busy_buffers_size是proxy_buffers的两倍,proxy_temp_file_write_size也要比proxy_buffers大。  ......
  • centos9 redis安装报错(实在无解使用方法)
    报错如下[root@centosbin]#./redis-server./redis-server:errorwhileloadingsharedlibraries:libssl.so.1.1:cannotopensharedobjectfile:Nosuchfileordirectory使用的解决命令yummakecacheyum-yinstall*openssl*原过程root@centosbin]#lsredi......
  • npm install karma时报错的问题解决
    karma在js自动化测试方面很有名,但是安装的时候出的问题npminstall-gkarma 报错好像是socket.iosocket.io.client依赖时报出的错误 看到网上回复说先装下这个:有人说要先装下这个:npminstall-gnode-gyp 试了下问题没有解决。 又有回复说要装这个:npminstall-gws 装好之......
  • Hadoop集群手动主备切换
     查看节点状态#查看节点状态[root@hadoop1bin]#hdfshaadmin-getServiceStatenn1standby[root@hadoop1bin]#hdfshaadmin-getServiceStatenn2active[root@hadoop1bin]#pwd/root/tools/hadoop/tools/hadoop/bin将NN2切换为Standby备用节点hdfshaadmin......
  • ts报错:Property '$xxx' does not exist on type
    问题在catch中统一处理异常信息,就想着写到一个函数里面,然后需要用到的地方自行调用就可以。一般两种方法,要不通过mixin,要不绑定到vue的prototype上面。这里采用的是后者。在以前没引入ts之前,是那么简单的一件事情。//先绑定Vue.prototype.$catchRequestError=function(......