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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Mac JetBrains全家桶软件激活码_最新在线免费激活[通俗易懂]

    (Mac JetBrains全家桶软件激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~00OE…

    2022年3月30日
    465
  • 微商代理分销系统

    微商代理分销系统微云基石微商代理分销系统TM(简称:微商代理分销系统TM),是所有微商分销系统中第一个采用二级无限分销模式的系统,两级分销比例由商家设定,系统自动记录追踪用户IP并管理成为分销商的前后层级。移动互联网的泛传播性很强,记录追踪用户的分销可以帮助商家梳理信息、制定市场营销策略及着重发展哪些分销商。《2014年中国商铺用户微信运营调研报告》中显示,45.7%的中小商家表示看好微商运营,39.1%

    2022年5月13日
    56
  • Jstorm 环境搭建[通俗易懂]

    Jstorm 环境搭建[通俗易懂]Jstorm环境搭建有三种安装部署方式:standalone模式、yarn模式、docker模式,其中standalone模式最简单、轻量、稳定比较常用,整体规模不超过300台,yarn模式外部依赖较重,规模至少30台,docker比较消耗性能。standalon模式安装步骤搭建外部依赖搭建jstorm之前需要先搭建外部依赖1.zookeeper2.jdk

    2025年6月9日
    0
  • 数据库选型之内存数据库eXtremeDB

    数据库选型之内存数据库eXtremeDB鉴于内存数据库访问速率快的特点,本文分别从单线程、多线程(并发访问)和多线程读/写混合访问角度对eXtremeDB数据库读写速率展开测试。需要指出的是,本文读取操作包含将数据读取后,并在控制台显示出来

    2022年7月2日
    40
  • Groovy新手教程

    Groovy新手教程

    2021年12月1日
    45
  • redission jedis_redis could not get a resource

    redission jedis_redis could not get a resourceJedis操作Redis

    2022年9月9日
    0

发表回复

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

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