小编SQL*_*ace的帖子

ORDER BY子句中的T-SQL IF语句

有没有办法可以做类似的事情

@sortType

SELECT
    *
FROM
    table
ORDER BY
    -- if sortType == id
    table.Id
    -- else if sortType == date
    table.Date
Run Code Online (Sandbox Code Playgroud)

那句法怎么样?谢谢.

t-sql sql-server sorting

15
推荐指数
3
解决办法
2万
查看次数

SQL 2005我可以在case语句中使用关键字

我需要一个允许部分匹配的case语句.我收到语法错误,但我想知道是否有类似的东西是可能的.如果没有,我的辅助解决方案是重写为游标...示例:

SELECT CASE ColumnName
           WHEN 'value1' THEN 'answer1'
           WHEN 'value2' THEN 'answer2'
           WHEN LIKE '%TEST%' THEN 'answer3'
       END AS Answer
FROM TableName
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server-2005

14
推荐指数
2
解决办法
4万
查看次数

nvarchar总是将每个字符存储在两个字节中吗?

我(或许天真)认为在SQL Server中,nvarchar会将每个字符存储在两个字节中.但情况似乎并非总是如此.那里的文档表明某些字符可能需要更多的字节.有人有明确的答案吗?

sql-server unicode

11
推荐指数
2
解决办法
2万
查看次数

在SQL Server 2005中识别最常用的存储过程变体的最快方法

我试图弄清楚是否有办法识别被称为最多的SP的"版本".我有一个SP,它被一堆不同的参数调用.我知道SP引起了一些问题,并试图指出问题所在.除了捕获SP的呼叫并手动筛选结果外,是否可以使用分析器通过提供的参数对SP呼叫进行分组?

我不是一个DB(A/E),只是一个Web开发人员,所以任何正确方向的提示/点都会有所帮助.谢谢!

编辑:重新编译SP没有多大帮助.

t-sql stored-procedures sql-server-2005

9
推荐指数
1
解决办法
6671
查看次数

尝试删除默认值,但收到服务器上不存在的消息

我需要将列的数据类型从smallint更改为bigint(设计考虑不好,不要问).我运行TSQL

alter table dbo.Test alter column ProductionModeID bigint NULL
Run Code Online (Sandbox Code Playgroud)

但得到消息:

消息5074,级别16,状态1,行1对象'DF_Test_ProductionModeID'取决于列'ProductionModeID'.

消息4922,级别16,状态9,行1 ALTER TABLE ALTER COLUMN ProductionModeID失败,因为一个或多个对象访问此列.

DF_Test_ProductionModeID在dbo中找到了.测试>>约束.(我不知道是怎么DF_Test_ProductionModeID创造的,我也不相信我需要它存在).我按Delete键,选择OK按钮,然后收到以下消息:

===================================

服务器上不存在默认的"DF_Test_ProductionModeID".(SqlManagerUI)


如需帮助,请单击:http://go.microsoft.com/fwlink?ProdName = Microsoft + SQL + Server&ProdVer = 10.50.1447.4+((KJ_RTM).100213-0103 +)&EvtSrc = Microsoft .SqlServer.Management.Smo.ExceptionTemplates .ObjectDoesNotExist&LINKID = 20476


课程地点:

Microsoft.SqlServer.Management.SqlManagerUI.DropObjects.DropAllObjects(Boolean stopOnError)中的Microsoft.SqlServer.Management.SqlManagerUI.DropObjects.DoDropObject(Int32 objectRowIndex)

所以我现在很困惑,因为如果它不存在,那么它如何依赖于一列呢?

t-sql constraints sql-server-2008

9
推荐指数
1
解决办法
4100
查看次数

如何只选择列中包含数字的记录(SQL)

基本上我想这样做:

我想返回一个记录集,如果它包含一个数字,则将一个nvarchar值(ID)转换为整数.如果ID可以转换为数字,则将该行添加到SELECT记录集.如果没有,请跳过该行.

我认为SQL看起来应该是这样的.

(dbo中的ID是nvarchar(10).表)

CREATE TABLE #Temp  (ID int)
INSERT INTO #Temp SELECT ID FROM Table Where ISNumeric(Id)=0
Run Code Online (Sandbox Code Playgroud)

但是我得到一个错误:nvarchar值'Default'到数据类型int.如果我这样做SELECT CAST(ID as int)也不起作用.

sql sql-server

7
推荐指数
2
解决办法
3万
查看次数

将DateTime解析为SQL Server的最佳方法

我想知道什么是将DateTime对象解析到SQL服务器的最佳方法.

您在代码中生成SQL的位置.

我总是使用类似的东西,DateTime.Now.TolongDateString()并且取得了很好的效果,除了今天我遇到了错误,它让我思考.

System.Data.SqlClient.SqlException: Conversion failed when converting datetime from character string
Run Code Online (Sandbox Code Playgroud)

那么每个人的想法和推荐是什么方式,无论有什么设置,都可以运行所有SQL服务器.

也许是这样的 DateTime.Now.ToString("yyyy/MM/dd")

.net sql t-sql sql-server datetime

6
推荐指数
4
解决办法
2万
查看次数

sql:DELETE + INSERT vs UPDATE + INSERT

有人问过类似的问题,但由于它总是取决于我,所以我要分别询问我的具体情况.

我有一个网站页面,显示来自数据库的一些数据,并从该数据库生成数据,我必须做一些相当复杂的多连接查询.

数据每天更新一次(每晚).

我想预先生成所述视图的数据,以加快页面访问速度.

为此,我正在创建一个包含我需要的确切数据的表.

问题:对于我的情况,完成表格擦除然后插入是否合理?或者我应该更新,插入?

SQL明智的看起来像DELETE + INSERT会更容易(INSERT部分是单个SQL表达式).

编辑: RDBMS:MS SQL Server 2008 Ent

sql t-sql sql-server-2008

5
推荐指数
1
解决办法
2739
查看次数

如何在DB varchar(6000)中替换CHAR(13)?

使用ColdFusion和Microsoft SQL,我们使用cfx_excel插件将数据导出到Excel电子表格.该数据包含varchar(6000),其在每个条目中输入CHAR(13)/换行符.

每次以Excel格式生成报表时,换行符都显示为方括号.

我如何在SQL查询中删除CHAR(13)?

谢谢.

sql t-sql coldfusion

4
推荐指数
1
解决办法
3万
查看次数

如何通过存储过程执行数据库中的所有视图

我们的表架构与视图架构不同步存在问题。我想知道我如何拥有一个存储过程(用于 Sql Server)来获取数据库中的所有视图,并通过 select * 执行每个视图

这是我想象的(伪):


Declare x
Set x = Select object from sysobjects where object = view

x
sp_execute 'select * from view' 中的foreach 视图


然后我们可以进行自动化测试,每晚调用它。SqlException 将指示某些内容不同步。

t-sql sql-server testing stored-procedures

4
推荐指数
1
解决办法
1万
查看次数