SQL数据集问题。SQL查没问题,放在数据集里面报错。

 SELECT

  A.name AS table_name,

  B.name AS column_name,

  C.value AS column_description

  FROM sys.tables A

  INNER JOIN sys.columns B ON B.object_id = A.object_id

  LEFT JOIN sys.extended_properties C ON C.major_id = B.object_id AND C.minor_id = B.column_id

  WHERE A.name = 'sfa_t_month'

sfa_t_month 是表名。此段SQL是查询表字段结构和注释

,C.value AS column_description  这段注释掉能正常出结果。

FineReport hfjsiwbdhx 发布于 2021-11-4 17:32
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
hfjsiwbdhxLv5初级互助
发布于2021-11-9 11:29

https://bbs.fanruan.com/wenda/question/104385.html

最佳回答
1
河伯Lv2见习互助
发布于2021-11-4 17:45

有可能是value作为关键字的被误认了,试试改成这样:

SELECT

A.`NAME` AS `table_name`,

B.`NAME` AS `column_name`,

C.`VALUE` AS `column_description`   

FROM

sys.`TABLES` A

INNER JOIN sys.`COLUMNS` B ON B.`object_id` = A.`object_id`

LEFT JOIN sys.`extended_properties` C ON C.`major_id` = B.`object_id` 

AND C.`minor_id` = B.`column_id`   

WHERE

A.`NAME` = 'sfa_t_month';

  • 吾姓独孤 吾姓独孤 单引号会被认为是字符串吧
    2021-11-04 17:46 
  • 河伯 河伯 回复 吾姓独孤 ` 是 MySQL 的转义符,避免和 mysql 的本身的关键字冲突,只要你不在列名、表名中使用 mysql 的保留字或中文,就不需要转义。
    2021-11-04 18:02 
  • hfjsiwbdhx hfjsiwbdhx(提问者) 回复 河伯 试过了 ,不行。SELECT top 1 * FROM sys.extended_properties。也执行不了。
    2021-11-05 08:46 
  • 河伯 河伯 回复 hfjsiwbdhx(提问者) 你试试\\`VALUE\\`这样的写法行不行
    2021-11-08 15:50 
  • hfjsiwbdhx hfjsiwbdhx(提问者) 回复 河伯 是sqlserver
    2021-11-08 16:09 
最佳回答
1
就TM你叫夏洛啊Lv6中级互助
发布于2021-11-4 17:58

value是关键字,系统识别不了,一般加上飘号就可以了,例如:C.`value`就可以了

  • 吾姓独孤 吾姓独孤 这叫飘号呀,我还以为单引号
    2021-11-04 17:59 
最佳回答
0
吾姓独孤Lv6高级互助
发布于2021-11-4 17:35(编辑于 2021-11-4 17:35)

value加双引号试试

啥数据库呢

  • 3关注人数
  • 525浏览人数
  • 最后回答于:2021-11-9 11:29
    请选择关闭问题的原因
    确定 取消
    返回顶部