【问题标题】:SQL query SubstitutionSQL查询替换
【发布时间】:2018-06-08 19:14:32
【问题描述】:

我需要在 SQL 中替换键和值

例子:

Key: ### to ###, My address ###
Values: 10,20,'Jaipur India'

输出:

10 to 20, My address Jaipur India

【问题讨论】:

  • 我不明白你的问题。请编辑您的问题,而是以表格形式向我们展示示例输入和输出,每行缩进 4 个空格以将其格式化为代码。
  • 你有什么问题?
  • 我有一个字符串'### to ###,我的地址###',还有3个值在一个单独的表中,我需要按键替换这些值,我的第一个值是10所以第一个键被替换为 10、10 到 ###、我的地址 ### 等
  • 请提供一个小样本,以便我们清楚您的意思。似乎您可以将值拆分并将它们添加到键中,但我想要一个小样本来验证一切是否按预期工作
  • 您使用的是什么 SQL 方言 - 也为此添加一个标签。

标签: sql


【解决方案1】:

在 SQL Server 中实现所需结果的示例如下:

  1. 创建一个执行字符串连接并返回新字符串的 SQL TableValued 函数。
  2. 从 SQL 查询中调用它。

SQL 函数

Create function [dbo].[GetMyAddressString]
(
@Key1  varchar(100) ,
@Key2 varchar(100),
@Key3 varchar(100)
)
returns varchar(400)
as
begin
    declare @str varchar(400)
    set @str = @Key1 + ',' + @Key2 + ' My address ' + @Key3
    return @str
end

如何调用这个函数?

select dbo.GetMyAddressString('10','20','Jaipur India')

输出

10,20 我的地址印度斋浦尔

注意: 如果您可以在问题中分享上下文和更多细节,您可以获得更合适的答案

【讨论】:

  • 感谢您的快速响应,字符串是动态的,我该如何实现?并且值存储在表中
  • 这个简单的 SQL 应该可以帮助你得到想要的结果。我假设您在表中有 3 列,其中包含您需要的键值。选择 cast(Column_KEY1 as varchar(4)) + ' to ' + cast(Column_KEY2 as varchar(4)) + ', my addres ' + Column_[ADDRESS_KEY] From TABLE_NAME_HERE
猜你喜欢
  • 2012-06-18
  • 2021-12-26
  • 2020-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-12
  • 2021-02-02
  • 2011-11-30
相关资源
最近更新 更多