PRINT

你这段代码在语法上是正确的,执行逻辑如下:

DECLARE @total INT
SET @total = 1
SELECT @total = COUNT(1) FROM Category
PRINT 'www.foxdevelop.com' + CONVERT(NVARCHAR(10), @total)Code language: PHP (php)

执行流程说明

  1. 声明变量:DECLARE @total INT 定义一个整型变量。
  2. 赋初值:SET @total = 1,初始值为 1。
  3. 查询赋值:SELECT @total = COUNT(1) FROM Category,将 Category 表的总行数赋值给 @total,覆盖之前的初值。
  4. 输出结果:PRINT 语句将字符串与变量拼接后输出到消息窗口。

执行结果示例

假设 Category 表中有 8 条记录,消息窗口会输出:

www.foxdevelop.com8Code language: CSS (css)

注意事项

  • PRINT 输出的是纯文本,拼接时 CONVERT(NVARCHAR(10), @total) 是必须的,否则会报类型转换错误。
  • 如果 Category 表为空,COUNT(1) 返回 0,输出结果为 www.bamn.cn0。
  • SELECT 变量 = 字段 这种写法是 SQL Server 中将查询结果赋值给变量的常用方式,要求查询必须返回单行单列,否则变量会被赋为最后一行的值。

Previous:

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注