社区
MS-SQL Server
帖子详情
怪脑袋,怪想法,谁能帮我解释 select '单引号'=1,'人间正道'=2, "双引号"=2 ,'莫名其妙', 't',12 这个select语句的含义。
msdner
2005-05-03 03:27:11
MS SQL SERVER环境。
...全文
289
14
打赏
收藏
怪脑袋,怪想法,谁能帮我解释 select '单引号'=1,'人间正道'=2, "双引号"=2 ,'莫名其妙', 't',12 这个select语句的含义。
MS SQL SERVER环境。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
msdner
2005-05-04
打赏
举报
回复
晕,竟然没有给chengpei_chen(给点阳光就灿烂)分数,眼花了,很抱歉。谢谢你的支持。
sonique
2005-05-04
打赏
举报
回复
支持楼主的钻研精神,我当初就是写出一些测试代码学习coding的
msdner
2005-05-04
打赏
举报
回复
我说错了,ANSI SQL里是没有字符串、变量这些概念了。
列名 的别名也是用双引号括起来的。
不知道谁有ANSI SQL-99 文档?
msdner
2005-05-03
打赏
举报
回复
TO 楼上:
as 在语法里是可以去掉的。
cxmcxm
2005-05-03
打赏
举报
回复
select '单引号'=1,'人间正道'=2, "双引号"=2 ,'莫名其妙', 't',12
与
select 1 as 单引号,2 as 人间正道, 2 as 双引号 ,'莫名其妙', 't',12 是一样的
chengpei_chen
2005-05-03
打赏
举报
回复
分析的不错,up
ianok
2005-05-03
打赏
举报
回复
语法
SELECT [ ALL | DISTINCT ]
[ TOP n [ PERCENT ] [ WITH TIES ] ]
< select_list >
< select_list > ::=
{ *
| { table_name | view_name | table_alias }.*
| { column_name | expression | IDENTITYCOL | ROWGUIDCOL }
[ [ AS ] column_alias ]
| column_alias = expression
} [ ,...n ]
msdner
2005-05-03
打赏
举报
回复
因此,'单引号'在这里是一个字符串常量,作为列名。
msdner
2005-05-03
打赏
举报
回复
看来只能这样解释了。
基于这样一个事实:
select '单引号'=1 --''改为""效果一样
等价于
select 1 '单引号' --''改为""效果一样
以下作一个小结:
select在用于输出时,是以记录的形式给出的,也就说包含列名和值。
在ANSI SQL里面,字符串作为列名是用单引号引起来的。而“为保持与现有应用程序的兼容性,SQL Server 并不完全强制该规则。如果字符串没有超过标识符的长度,则该字符串可包含在双引号内。但不建议这样做。”--引号部份摘自SQL SERVER联机丛书。以上讨论是在QUOTED_IDENTIFIER 为 ON 的情况下。
msdner
2005-05-03
打赏
举报
回复
谢谢楼上两位!
我是想弄明白select的用法,所以我就写了这一句想探出个究竟。。。
按我的理解,select有几个用法:
一)用于查询记录的。格式是:
select...
from...
[...]
select和from这两个是必须的,一个也不能少。
二)用于赋值。格式是:
select @test=some_value
在这里select相当于set。不过,select功能更强,可以一次给多个变量赋值。
三)用于打印。格式
select @test
相当于print。同样,select可以指定列名,如select @test test。
但是,以下就是我不能解释的:
select '单引号'=1
这个是什么意思?等号在这里的作用,是赋值吗?'单引号'在这里是变量吗?不是不能以分隔符作为变量名吗?它和以下这一句的区别?
select '单引号'
还有:
select '单引号' test
子陌红尘
2005-05-03
打赏
举报
回复
select '单引号'=1,'人间正道'=2, "双引号"=2 ,'莫名其妙', 't',12
就是返回如下一个结果集:
列名: 单引号 人间正道 双引号 无列名 无列名 无列名
值 : 2 2 2 莫名其妙 t 12
Well
2005-05-03
打赏
举报
回复
結果是知道啊
那又有什麼意思呢
還真的 不知道
沒有完整的代碼不知道
Well
2005-05-03
打赏
举报
回复
select '单引号'=1,'人间正道'=2, "双引号"=2 ,'莫名其妙', 't',12 这个select语句的含义。
這個有什麼意義嗎
樓主這樣說我真的不知道是什麼意思
又沒有上下文。
要是有整個代碼全部貼出來看一個也許會知道
chiwei
2005-05-03
打赏
举报
回复
你把语句考到SQL查询分析器里面就知道了
select '单引号'=1,'人间正道'=2, "双引号"=2 ,'莫名其妙', 't',12
结果如下:
单引号 人间正道 双引号
----------- ----------- ----------- -------- ---- -----------
1 2 2 莫名其妙 t 12
MySQL中
单引号
,
双引号
和反引号的区别
1
单引号
,
双引号
1.1
单引号
1.2
双引号
2 反引号 1
单引号
,
双引号
MySQL里引用字符串常量时需要用一对英文
单引号
“ ' ”或英文
双引号
“ " ”将字符串常量常量括起来。例如: 'an apple' "a book" 1.1 单...
mysql
单引号
和
双引号
的用法
这就要从
双引号
和
单引号
的作用讲起:
双引号
里面的字段会经过编译器
解释
然后再当作HTML代码输出,但是
单引号
里面的不需要
解释
,直接输出。例如: $abc='I love u'; echo $abc //结果是:I love u echo '$abc' //...
oracle输出
单引号
,
双引号
1. Oracle里双竖线||是连接符号 2. oracle的结果输出
单引号
' 的字符 用4个 '''' 符号就可以输出一个
单引号
' 号 SYS@orcl>
select
''''||name||'''' from v$datafile; ''''||NAME||'''' --------...
Oracle和MySQL中的
单引号
、
双引号
在Oracle数据库中,一般字符串常量都是使用
单引号
包起来,
单引号
的作用如下: 表示字符串常量; 两个
单引号
连用,如”,则第一个是转义字符,后面那个表示真正的
单引号
; 有时候也会遇到
双引号
,它的作用如下: ...
Oracle
单引号
使用与转义
第二个
单引号
开始被视为转义符,第三个
单引号
为需要进行转义的
单引号
,第四个与第一个
单引号
配对; .连接符‘||’导致了新一轮的转义:连接符号‘||’左右的
单引号
没有任何的关系,
SELECT
'A''' ...
MS-SQL Server
34,874
社区成员
254,640
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章