SQL Server中一个表中的一列为varchar型,长度12,啥语句可以在不满足12位前面补上”0“

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server中一个表中的一列为varchar型,长度12,啥语句可以在不满足12位前面补上”0“相关的知识,希望对你有一定的参考价值。

比如”239494747“ 执行什么语句后可以变成“0239494747”

参考技术A right('000000000000'+field_name,12) 参考技术B 用&好一点,+容易引起歧义,另外varchar类型字符应该用"",''未必行得通
right("000000000000"&field_name,12)

从oracle表中选择sql server表中的列

【中文标题】从oracle表中选择sql server表中的列【英文标题】:select from oracle table where column in sqlserver table 【发布时间】:2016-07-16 16:41:38 【问题描述】:

我在 oracle 中有一个表,其中包含客户记录,在 Microsoft SQL Server 中有另一个表,其中包含某些标记客户的 30,000 多条记录。现在,我想从 oracle 中选择列在 Microsoft SQL Server 中的值。像这样:

SELECT oracleTable.custname 
FROM oracleTable 
WHERE oracleTable.idcol IN (/*LIST OF VALUES FROM SQL SERVER TABLE*/)

而且我没有权限在 oracle 数据库上创建表。

我必须在 C# 中创建一个函数,以这种格式返回列表值 '1','2','3','4' 并将其与我的命令文本连接,但 Microsoft SQL 服务器表包含超过 30,000 条记录,oracle 抱怨它只允许 1,000在一个列表中。

有人知道解决方法(C# 或 TSQL)吗?

【问题讨论】:

您是否在 Google 中搜索过答案 让我为你做这件事.. google.co.in/… 是的,我没有找到任何有用的答案。 我想过使用链接服务器,但我什至不允许在服务器上安装任何东西。在他们决定是否为我安装之前,我必须通过一些命令链发送请求。 【参考方案1】:

在 Oracle 中创建一个临时表,插入值,然后加入。

【讨论】:

【参考方案2】:

考虑到您提到的限制,我认为您应该考虑使用 C# 对其进行编码......您将拥有 DataTables 的灵活性。用 SQL Server 数据填充一个 DataTable,用 Oracle 填充另一个。现在您可以使用 Linq 获取所需的数据了。

希望这会有所帮助。

【讨论】:

以上是关于SQL Server中一个表中的一列为varchar型,长度12,啥语句可以在不满足12位前面补上”0“的主要内容,如果未能解决你的问题,请参考以下文章

C#中如何用Linq在SQL Server的表中多列检索多个关键字

SQL Server 数据库的使用技巧

sqlserver语句添加列(简单)

java语言实现把txt文本文档里面的数据导入到SQL Server数据库的表中

SQL Server 中的动态透视列

从 SQL Server 中的每个表中只复制一条记录