SQL中字符串的连接
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL中字符串的连接相关的知识,希望对你有一定的参考价值。
参考技术A在mysql中字符串连接使用的是concat内置函数。
CONCAT() 的语法如下:
CONCAT(字串1, 字串2, 字串3, ...): 将字串1、字串2、字串3,等字串连在一起。
请注意,Oracle的CONCAT()只允许两个参数;
换言之,一次只能将两个字串串连起来,不过,在Oracle中,可以用'||'来一次串连多个字串。
扩展资料:
注意:
如果所有参数均为非二进制字符串,则结果为非二进制字符串。
如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。
一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型 cast, 例如:
SELECT CONCAT(CAST(int_col AS CHAR), char_col)
参考资料来源:百度百科-concat()
在 SQL 查询中检索当前 SQL Server 连接字符串
【中文标题】在 SQL 查询中检索当前 SQL Server 连接字符串【英文标题】:Retrieve current SQL Server connection string within SQL query 【发布时间】:2014-11-29 05:31:14 【问题描述】:(这是一个抽象的问题)
如何从 T-SQL 查询中获取当前连接字符串?
我的意思是需要这样的东西:
Select ConnectionString From Something
我得到这样的结果:
data source=HAMCKER-PC;initial catalog=CMMS;trusted_connection=true
我为什么需要这个?
其实我想通过我的连接字符串传递一些额外的参数,假设上面的连接是这样的:
data source=HAMCKER-PC;initial catalog=CMMS;trusted_connection=true;Area=W9
我的查询中需要W9
。
【问题讨论】:
***.com/questions/25581002/…的可能重复 感谢指导,实际上是 dup 【参考方案1】:获取数据源使用
SELECT @@SERVERNAME
初始目录:
SELECT DB_NAME()
我也可以查找trusted_connection,但我不明白这一点,因为你已经连接了所以你已经知道了。
如果您想使用连接字符串传递附加信息,您的选择是有限的。您可能应该使用application name
,它可以通过SELECT APP_NAME()
或Workstation ID
访问。但这些都是有意义的,我不愿意“劫持”它们
您还可以使用 CONTEXT_INFO 传递信息 msdn.microsoft.com/en-us/library/ms187768.aspx、msdn.microsoft.com/en-us/library/ms180125.aspx
【讨论】:
感谢您的时间。我已经测试将自定义数据发送到 sql-server,它不会崩溃,但问题是要检索该数据! 客户端 API 不会将连接字符串发送到 SQL Server。对于一些连接字符串关键字,如应用程序名和主机名,它通过 TDS 协议消息将值传递给 SQL Server。服务器上没有其他值。 “问题是检索该数据”?你的意思是你的“区域”字符串?如果它不是连接字符串属性,则不会通过。如果您进一步解释,可能还有其他方法可以做您想做的事情。 您应该根据自己的需要查看 CONTEXT_INFO。 msdn.microsoft.com/en-us/library/ms187768.aspx, msdn.microsoft.com/en-us/library/ms180125.aspx以上是关于SQL中字符串的连接的主要内容,如果未能解决你的问题,请参考以下文章
在VB.net中,连接SQL Server数据库的连接字符串的问题。