是否可以根据参数值添加内连接、左连接或右连接。现在我唯一的方法是编写一个动态查询,比如
set @sql = 'select * from dbo.products PM(nolock)
'+ case when @orgunit is not null then ' join productorgunit pou on PM.ProductNumber = pou.ProductNumber '
else ''
end
+ '
Exec(@sql).
我希望有像
Firebird和SQL Server上都有数据库。我在Firebird中有一个工作存储过程。
问题是:如何将其转换为T-SQL语法?
begin
IF ((:PHONE_N is NULL) or (STRLEN(:PHONE_N)<1)) THEN
BEGIN
O_PHONE_N = NULL;
EXIT;
END
IF (STRLEN(PHONE_N) > 3) THEN
BEGIN
O_PHONE_N = '(' || SUBSTR(:PHONE_N, 1, 3) || ') &
我在SQL Server中有以下查询,我正尝试将其转换为Oracle 11g。
IF '[Param.1]' = 'S' OR '[Param.1]' = 'T' THEN
select * from ULQUEUE
END IF
但是,当我在Oracle中编写相同的查询时,它会给出错误,说明无效的SQL语句。那么,如何在Oracle的Select语句中合并IF-ELSE呢?
在Microsoft sql Server2008中,是否可以使用SQL命令以字符串形式从xml类型的列中获取节点的路径?
如下所示:
select xcolumn.path('//somenode1[@id="1234"]') as result from xtable
或
select xcolumn.query('path(//somenode1[@id="1234"]);') as result from xtable
我正在尝试寻找ANSI的方式来编写T-SQL 'IS NULL‘。(更正,是'IN NULL')互联网上的一些帖子说你可以使用coalesce让它像'IS NULL‘一样工作
我喜欢这样做的原因是:可移植的代码。并且查询必须返回NULL类型的行。
到目前为止,我创建了以下内容:
SELECT empid,
firstname,
lastname,
country,
coalesce(region,'unknown') AS regions ,
city
FROM HR.Empl
我正在实现一个ODBC应用程序,其中多个客户端将数据存储在具有外键关系的两个表中。这个应用程序应该以类似的方式支持不同的数据库。因此,sql命令被外部化到文件中,并且应该以类似的结构编写。 为了缩小范围,我有一个基于SQL Server语法的简化示例: CREATE TABLE A
(
id int IDENTITY(1,1) PRIMARY KEY,
name varchar(max) NO NULL
);
CREATE TABLE B
(
id int IDENTITY(1,1) PRIMARY KEY,
data varchar(max) NO NUL
我是SQL的新手,正在尝试编写一个过程来检查传入的值,并设置一个本地datetime变量,然后返回该变量。
USE [MyDB]
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [Common].[Update_Date]
@Status_ID int
AS
BEGIN
SET NOCOUNT ON;
DECLARE @Date_Value DATETIME
IF @Status_ID = 2
SET @Date_Value = GETDATE()
ELSE
SET @Date_Valu
我正试图在多个列上旋转。我正在使用SQL server 2008。这是我到目前为止尝试过的方法
CREATE TABLE #t ( id int, Rscd varchar(10),Accd varchar(10),position int)
INSERT INTO #t Values (10,'A','B',1)
INSERT INTO #t Values (10,'C','D',2)
Select id,[1],[2],[11],[12] FROM
(SELECT id, Rscd,Accd, position , po
在尝试T-SQL的新特性时,我遇到了一个难题。以下是SQL2008支持的一些新语法,我希望它可以在设置为兼容模式100 (即2008)的数据库上工作,而不能在兼容模式80 (即2000)下工作。但是,这适用于标准版SQL 2008实例上SQL SERVER 2000兼容模式的数据库集:
use MDS -- this db is compat mode 80
go
CREATE TABLE dbo.Employees
(
Name VARCHAR(50) NULL,
Email VARCHAR(50) NULL,
Salary money NULL
)
INSERT INTO dbo.
有没有办法检查哪些静态/常量值用于视图中的哪些列,这需要在上百个视图中进行检查,所以如果我们通过读取视图的定义来手动进行检查,这将非常耗时。
同样,问题的另一部分是,我们能否捕获/找到针对视图的计算/依赖列使用的表达式/计算。
示例:
CREATE VIEW dbo.Test
select distinct top 100 percent
NULL AS C1, NULL AS C2, NULL AS C3, NULL AS C4,
NULL AS C5, NULL AS C6, NULL AS C7, NULL AS C8,
NULL AS C9, NULL AS
为什么ROW_NUMBER()会对这个查询产生的结果产生影响呢? select Doctor, Professor, Singer, Actor
from(
select name, occupation, row_number() over(partition by occupation order by name) rowno from occupations
) src
pivot(
max(name) for occupation in(Doctor, Professor, Singer, Actor)
) as pivotable 结果: Aamina Ashley
有没有什么软件可以让我把ms sql数据库转换成mysql?我测试了使用ms sql server management studio导出ms sql数据库。并使用phpmyadmin导入sql文件。但是我得到了这个错误:
USE [students] GO /****** Object: Table [dbo].[student_info] Script Date: 05/29/2011 15:20:20 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[student_info]( [i