sql - 需要暂时将 Text 字段转换为 Varchar,以便我可以传递给存储过程

标签 sql sql-server tsql sql-server-2000

我使用的是 SQL 2000 数据库。

我正在使用一个数据库,无法更改表或存储过程的类型。我需要调用的存储过程之一需要“文本”参数。我可以访问文本字段,但我无法弄清楚谁将其存储在变量中或以任何其他方式将其传递到存储过程中?

如果我尝试创建一个文本变量,SQL 不会让我这么做 - 如果我将其转换为 varchar,我只能从文本字段中获取第一个字符。

任何解决这个问题的技巧都非常感谢!谢谢!

最佳答案

声明 varchar(8000) 类型的变量

declare @v varchar(8000)
SET @v = (SELECT CAST(textcol as varchar(8000)) FROM yourtable WHERE ....)

显然它仍然可能被截断,但不是 1 个字符。

关于sql - 需要暂时将 Text 字段转换为 Varchar,以便我可以传递给存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4360150/

相关文章:

mysql - Mysql单查询统计多表数据

sql - 总问题的两倍

Mysql获取当前日期与时间 23 :59:59

sql-server - T-SQL 动态 SQL 和临时表

sql - 当按来自两个不同表的列排序时,PostgreSQL 查询速度变慢

sql - 对索引列进行全表扫描?

sql - 我需要一个单独的表来描述 nvarchar(max)

sql-server - SQL Server : Clustered index on datetime, ASC 或 DESC

sql - 一对多查询选择所有父级和每个父级的单个顶级子级

tsql - 转换日期时间时转换失败