Saq*_*eed 6 sql sql-server string-concatenation where-clause
我在RAW sql中声明了两个变量
DECLARE @str nvarchar(max), @str1 nvarchar (max);
SET @str = " AND (c.BondSales_Confirmed <> -1)";
SET @str1 = " AND (c.BondSales_IssueType = 'REGULAR')";
Run Code Online (Sandbox Code Playgroud)
我的SQL查询是:
SELECT * From t_BondSales Where (BondSales_cType <> 'Institute') " + str1 + str "
Run Code Online (Sandbox Code Playgroud)
在这里我收到以下错误:
错误:SQL问题:"+ str1 + str"附近的语法不正确
可以任何人请帮助我使用正确的语法,如何在where子句中连接字符串?
Dev*_*art 10
试试这个 -
DECLARE
@str NVARCHAR(MAX)
, @str1 NVARCHAR (MAX);
SELECT
@str = ' AND c.BondSales_Confirmed != -1'
, @str1 = ' AND c.BondSales_IssueType = ''REGULAR''';
DECLARE @SQL NVARCHAR(MAX)
SELECT @SQL = '
SELECT *
FROM t_BondSales
WHERE BondSales_cType != ''Institute'''
+ @str
+ @str1
PRINT @SQL
EXEC sys.sp_executesql @SQL
Run Code Online (Sandbox Code Playgroud)
小智 9
很容易!!在mysql中使用CONCAT()函数:
SELECT * FROM tbl_person WHERE CONCAT(first_name,' ',last_name) = 'Walter White';
Run Code Online (Sandbox Code Playgroud)
但这并没有在MySQL的工作:
SELECT * FROM tbl_person WHERE first_name+' '+last_name = 'Walter White';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
53117 次 |
| 最近记录: |