gpt4 book ai didi

java - 使用spring从java执行包含子句 "where col like N' myStr %' "的sql server查询

转载 作者:行者123 更新时间:2023-11-30 04:39:43 26 4
gpt4 key购买 nike

我的查询使用 SQL Server Management Studio 进行。但是,我无法让查询与命名参数和 springsJDBCTemplate 一起使用。

所以需要实际的 sql 才能正常工作:

select colA from table1 where colb like N'lem%'

以及我尝试过的片段:

String paramA = "N'lem%'";

select colA from table1 where colb like :paramA

我正在使用名为ParamterJDBCTemplate 的 Spring 。 N 指定 nvarchar 和 unicode 编码,因为实际参数是用外语(例如西里尔文)编码的。

最佳答案

N' 在向 SSMS 中的文本 SQL 解析器呈现一些文本时很有用,但是当您通过 spring 使用参数化查询时,不要!字符串本身应该采用 Unicode,框架可以通过将参数声明为 NVarchar 并正确编码参数来为您处理它。

String paramA = "lem%";

我认为您甚至不应该在字符串中使用单引号,我理解您之所以将其包含在内只是因为 N' 表示法。

关于java - 使用spring从java执行包含子句 "where col like N' myStr %' "的sql server查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12599686/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com