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中字符串的连接的主要内容,如果未能解决你的问题,请参考以下文章

SQL中字符串的连接

在VB.net中,连接SQL Server数据库的连接字符串的问题。

ASP.NET中操作SQL数据库(连接字符串的配置及获取)

SQL中分区上的字符串连接?

如何从 PL SQL Developer 的连接中找出 Oracle 连接字符串?

SQL 表中的基本 URL 连接字符串