quotename函数的理解

quotename函数的理解首先,sqlserver里的标识符有一定的规则,比如你createtableabc123(…)那么中间含有空格,它不是符合规则的。你会写做createtable[abc123](….)即以[]来定界标识符。quotename将字串成为有效的标识符。它有什么用呢?我举个例子。你有个表名字叫做aa[]bb当某些应用动

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

首先,sqlserver里的标识符有一定的规则,比如 你
create table abc 123(…)
那么中间含有空格,它不是符合规则的。

你会写做 create table [abc 123](….)
即以[]来定界标识符。

quotename将 字串成为有效的标识符。

它有什么用呢? 我举个例子。

你有个表名字叫做 aa[]bb

当某些应用动态语句查询时 你如何写呢
exec(‘select * from aa[]bb’)
?

set @sql=’select * from ‘ + quotename(‘aa[]bb’)
exec(@sql)

当然你也可以直接写出转义的写法

select * from [aa[]]bb]

也就是说,quotename 使函数中的输入成为一个有效的标识符。
比如上例中 aa[]bb 不是一个有效的标识符。

简单来说吧比如你有一个表,名字叫 index 你有一个动态查询,

参数是表名

declare @tbname varchar(256) set @tbname=index

-查这个表里的数据:

print(select * from +@tbname)

exec(select * from +@tbname)

这样print出来的数据是

select * from index

因为index是字键字,肯定出错,加上括号就可以了:

select * from [index]

这便有了QUOTENAME,即:

print(select * from +QUOTENAME(@tbname))

结果:select * from [index]

exec(select * from +QUOTENAME(@tbname))

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/164281.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【学习】Deep Learning for Deepfakes Creation and Detection[通俗易懂]

    【学习】Deep Learning for Deepfakes Creation and Detection[通俗易懂]论文题目:DeepLearningforDeepfakesCreationandDetection翻译:基于深度学习的Deepfake创建与检测作者:ThanhThiNguyen*1,CuongM.Nguyen2,DungTienNguyen1,DucThanhNguyen1andSaeidNahavandi31SchoolofInformati…

    2022年5月9日
    97
  • goland 2021.1 激活码(在线激活)「建议收藏」

    goland 2021.1 激活码(在线激活),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    110
  • matlab plot函数详解_matlab floor函数用法

    matlab plot函数详解_matlab floor函数用法plot是绘制二维图形的最基本函数,它是针对向量或矩阵的列来绘制曲线的。也就是说,使用plot函数之前,必须首先定义好曲线上每一点的x及y坐标。1.plot(x)当x为一向量时,以x元素的值为纵坐标,x的序号为横坐标值绘制曲线。当x为一实矩阵时,则以其序号为横坐标,按列绘制每列元素值相对于其序号的曲线。2.plot(x,y)以x元素为横坐标值,y元素为纵坐标值绘制曲线3….

    2022年10月9日
    0
  • 2022年双非上岸北京理工大学软件工程经验

    2022年双非上岸北京理工大学软件工程经验感想很久之前就想写一篇文章来记录自己这段考研的辛苦历程了,感谢这一路陪伴我的朋友对我的鼓励支持,软工今年是前30去校本部,后35名去唐山研究院,软工相比于前几年来说一直在缩招,20年招95个,21年招74个,今年招65个,所以23今年想报的要做好会缩招的准备,我最终是去了唐山研究院,但是这对我本科双非的学生来说已经知足了。今年2022年被称为考研元年,难度可以说是极其高了,想要上岸不容易,从如今考研的形式来看,未来考研将会越来越难,希望学弟学妹们仔细认真的选择院校,可以通过关注一些公众号像王道论坛,

    2022年6月14日
    496
  • Java面试个人简历

    Java面试个人简历姓名:郑清求职意向:Java开发工程师专业技能:熟练使用Java面向对象编程,具有良好的编程习惯以及CSDN技术文档编写习惯;熟练使用Eclipse/IDEA等开发工具;熟练SVN,Maven,Git等项目管理工具;熟练Spring,SpringMVC,Hibernate,MyBatis等开源框架技术;掌握SpringBoot+SpringCloud微服务架构;掌握My…

    2022年7月9日
    17
  • [转]使用控件的RenderControl()方法导出Excel

    [转]使用控件的RenderControl()方法导出Excel//使用控件的RenderControl()方法生成HTML表格stringstrName=”HuaMingCe”;Response.Clear();Response.Buffer=true;Response.Charset=”utf-8″;Response.AppendH…

    2022年7月20日
    13

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号