SQL中的方括号怎么用?

xulonghua1988219 2012-11-15 04:11:52
SELECT distinct [[shipment_requests.*]],[[shippingaddress.*]],[[billingaddress.*]],[[orders.*]],[[rep_infos.*]],[[warehouses.*]]
FROM warehouses INNER JOIN
(select top {2} * from shipment_requests where warehouse_id={0} and shipment_requests.status_code='{1}') shipment_requests ON warehouses.id = shipment_requests.warehouse_id INNER JOIN
shipment_request_line_items ON shipment_requests.id = shipment_request_line_items.shipment_request_id LEFT JOIN
comments ON shipment_requests.id=comments.shipment_request_id LEFT JOIN
orders ON shipment_requests.order_id = orders.id LEFT JOIN
order_line_items ON orders.id=order_line_items.order_id INNER JOIN
rep_infos ON shipment_requests.rep_info_id=rep_infos.id INNER JOIN
addresses shippingaddress ON shipment_requests.shipping_address_id = shippingaddress.id INNER JOIN
addresses billingaddress ON shipment_requests.billing_address_id = billingaddress.id
1、这里为什么用两层方括号?
2、我在一个C#程序里面读这个SQL语句,单步跟踪后,发现[...]变成了{...}这又是为什么?
3、(select top {2} * from shipment_requests where warehouse_id={0} and shipment_requests.status_code='{1}') shipment_requests 这里面shipment_requests 这块一直报错,是不是因为shipment_requests是表名了,所以不能再用这个名称了?
...全文
657 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
xulonghua1988219 2012-11-15
  • 打赏
  • 举报
回复
终于明白了,hibernate内部还会有替换。
以学习为目的 2012-11-15
  • 打赏
  • 举报
回复
[]用过,{}没有过
chris_Yu186 2012-11-15
  • 打赏
  • 举报
回复
我转给你一个链接,你可以瞧瞧。就是说的这种“[[”和“]]” http://database.51cto.com/art/200604/25127.htm
發糞塗牆 2012-11-15
  • 打赏
  • 举报
回复
引用 11 楼 xulonghua1988219 的回复:
引用 7 楼 DBA_Huangzj 的回复: 你这个最好到C#去问。sql里面单括号就可以了 SELECT distinct {shipment_requests.*},{shippingaddress.*}... 那SQL里这样的{}是什么意思?
其实我没见过在sql里面用{}的,除非它是一个字符串里面的值。
xulonghua1988219 2012-11-15
  • 打赏
  • 举报
回复
引用 10 楼 hehexiaoyou 的回复:
查询时候可以写正则表达式的对吧!
详细点呢,没明白是什么正则表达式。
xulonghua1988219 2012-11-15
  • 打赏
  • 举报
回复
引用 7 楼 DBA_Huangzj 的回复:
你这个最好到C#去问。sql里面单括号就可以了
SELECT distinct {shipment_requests.*},{shippingaddress.*}... 那SQL里这样的{}是什么意思?
chris_Yu186 2012-11-15
  • 打赏
  • 举报
回复
查询时候可以写正则表达式的对吧!
99归一 2012-11-15
  • 打赏
  • 举报
回复
两个我也不知道,sql里表达啥意思,没见过
-Tracy-McGrady- 2012-11-15
  • 打赏
  • 举报
回复
小弟见识短浅,两个就不知道了
發糞塗牆 2012-11-15
  • 打赏
  • 举报
回复
你这个最好到C#去问。sql里面单括号就可以了
xulonghua1988219 2012-11-15
  • 打赏
  • 举报
回复
引用 4 楼 DBA_Huangzj 的回复:
绝大部分语言都存在关键字、保留字,这些如果不用[]来包住的话,不一定报错,但是很容易报错。
这个知道的,我不知道双层有什么用?
xulonghua1988219 2012-11-15
  • 打赏
  • 举报
回复
引用 2 楼 yangsh0722 的回复:
SQL code? 1234 SELECT [N] ,[VAL] FROM [SQLTips].[dbo].[A]
用双层方括号有什么用呢?
發糞塗牆 2012-11-15
  • 打赏
  • 举报
回复
绝大部分语言都存在关键字、保留字,这些如果不用[]来包住的话,不一定报错,但是很容易报错。
-Tracy-McGrady- 2012-11-15
  • 打赏
  • 举报
回复

重命名的时候也可以用
比如:SELECT SNO [重命名] FROM tableName
-Tracy-McGrady- 2012-11-15
  • 打赏
  • 举报
回复

SELECT [N]
      ,[VAL]
  FROM [SQLTips].[dbo].[A]
xulonghua1988219 2012-11-15
  • 打赏
  • 举报
回复

34,592

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧