gpt4 book ai didi

sql - 将 int 转换为适用于 SQL Server 和 MS-Access 的 varchar

转载 作者:行者123 更新时间:2023-12-02 16:05:22 25 4
gpt4 key购买 nike

我必须创建一个与 SQL Server 和 MS-Access 兼容的查询。

问题是在 SQL Server 中我尝试将数字转换为 varchar。在 SQL Server 中,我可以执行如下转换:在 MS Access 中:convert(varchar(100), 5):CStr(5)

是否有可能使这两个数据库兼容?

最佳答案

在 SQL Server 中,您可以编写一个名为 CStr() 的用户定义标量函数来执行转换。

内置例程不兼容。

不幸的是,这实际上不起作用,因为您需要在所有函数前面加上架构名称。因此,您可以:

create function cstr(@val int)
returns varchar(255) as
begin return(cast(@val as varchar(255))) end;

但你必须将其称为:

select dbo.cstr(4);

如果值位于列中,则考虑在每个数据库中的表上编写一个 View ,以在 View 中进行转换。

要让 VB 同时与 Access 和 SQL Server 一起使用,您可以放弃 Access 并使用真正的数据库。哦,我想这不是一个解决方案;)您将需要识别数据库的类型并为每个数据库提供不同的代码。您可以通过使用 View 隐藏一些丑陋的地方来最大限度地减少这种情况。

您可能会发现切换到 SQL Server 2012 更有利,它扩展了其功能库,包括一些 Access 功能。但不是 cstr()

关于sql - 将 int 转换为适用于 SQL Server 和 MS-Access 的 varchar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15639626/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com