2 回答

TA贡献1808条经验 获得超4个赞
楼主可能理解有偏差,concat(teacher_name,'x') 这里面的'x' 是带引号的,他并不能代表数据库中所谓的 'x' 这一列,他只是一个字符串;而teacher_name
这是数据空中的一列,所以 concat(teacher_name,'x') 这整个意思是 查出数据库中teacher_name 这一列的值后 在后面拼上'x' 这个字符串,而不是你
理解的他查的是 teacher_namex 这列的值.
同样的select teacher_id+5 并不是teacher_id 后的第五列寻找记录的意思,而是有几种情况,就目前来说你的 teacher_id 应该是数值类型,那么这种
最好理解,就是查出teacher_id的值之后加上5 ,但如果假如你teacher_id的值是字符类型的,那么他没法相加,你查出的这列的值就是5,但是也有个列外
就是如果查到的这个字符串前面是数字开头的,比如是: "2008年xxxx" ,那么 这个查到的值就是 2013;
最后一个问题,concat(teacher_id,teacher_name) 和第一个问题是一样的, concat(teacher_id,teacher_name) 的意思不是说最后查的是
teacher_idteacher_name 这个列,而是查出 teacher_id 这列和对应teacher_name列的值之后再拼接在一起.
你要注意的是teacher_id 和teacher_name这两个并不是字符串,而是两个列名,他们没有加引号引起来,如果是字符串,他们应该是加引号的.
第一次回答,写的有点乱,希望能解决楼主的疑惑,忘楼主采纳
添加回答
举报