Mysql :=在占位符的上下文中表示什么
对于那些知道的人来说,这可能是一个愚蠢的问题,但问题来了 正在尝试在查询中使用占位符。我发现以下方法有效:Mysql :=在占位符的上下文中表示什么,mysql,sql,Mysql,Sql,对于那些知道的人来说,这可能是一个愚蠢的问题,但问题来了 正在尝试在查询中使用占位符。我发现以下方法有效: SELECT day, @dy:=CAST( CASE day WHEN 'Su' THEN 1 WHEN 'Mo' THEN 2 WHEN 'Tu' THEN 3 WHEN 'Wed' TH
SELECT day, @dy:=CAST( CASE day
WHEN 'Su' THEN 1
WHEN 'Mo' THEN 2
WHEN 'Tu' THEN 3
WHEN 'Wed' THEN 4
WHEN 'Th' THEN 5
WHEN 'Fr' THEN 6
WHEN 'Sa' THEN 7
END AS UNSIGNED) as dayofweek
FROM `Schedule_Repetition` WHERE repetition_Key='426';
但这不起作用
SELECT day, @dy=CAST( CASE day
WHEN 'Su' THEN 1
WHEN 'Mo' THEN 2
WHEN 'Tu' THEN 3
WHEN 'Wed' THEN 4
WHEN 'Th' THEN 5
WHEN 'Fr' THEN 6
WHEN 'Sa' THEN 7
END AS UNSIGNED) as dayofweek
FROM `Schedule_Repetition` WHERE repetition_Key='426';
我看到各种各样的占位符示例,其中一些使用@p=……
,另一些使用@p:=…。
请有人解释一下:=表示什么,以及为什么语法不同,或者指向说明使用:=:=
的文档。以下信息来自dev.mysql.com上的
赋值运算符。使用户变量位于
运算符将在其右侧接受值。右边的值
hand端可以是文字值、另一个存储值的变量,或者
任何产生标量值的合法表达式,包括结果
查询的属性(前提是该值是标量值)
=
和:=
之间的区别:
=赋值(作为SET语句的一部分,或作为UPDATE语句中SET子句的一部分)
:=赋值
与=,不同:=运算符从不被解释为比较
操作人员这意味着您可以在任何有效的SQL语句中使用:=而不是
仅在SET语句中)为变量赋值
查看。:=
是一个。以下信息来自dev.mysql.com上的
赋值运算符。使用户变量位于
运算符将在其右侧接受值。右边的值
hand端可以是文字值、另一个存储值的变量,或者
任何产生标量值的合法表达式,包括结果
查询的属性(前提是该值是标量值)
=
和:=
之间的区别:
=赋值(作为SET语句的一部分,或作为UPDATE语句中SET子句的一部分)
:=赋值
与=,不同:=运算符从不被解释为比较
操作人员这意味着您可以在任何有效的SQL语句中使用:=而不是
仅在SET语句中)为变量赋值
查看。感谢您提供的文档链接(不太确定我是如何错过这些链接的),非常感谢您提供如此清晰的回复。感谢您提供的文档链接(不太确定我是如何错过这些链接的),非常感谢您提供如此清晰的回复。