标签: sql-server-2008

为什么条件@parameter like(condition)不返回结果,而用文字替换参数呢?

我在mssql2008中尝试这个:

declare @test nvarchar

set @test = '12345'

select 'true' where @test like '%3%' -- no results, condition fails

select 'true' where '12345' like '%3%' -- returns true, condition passes
Run Code Online (Sandbox Code Playgroud)

有人可以向我解释为什么第一个选择语句不会返回任何结果吗?

sql sql-server sql-server-2008 sql-server-2008-r2

0
推荐指数
1
解决办法
81
查看次数

在Max和Max之间使用?

是否可以使用Between with Max,如下所示:

SELECT * FROM TABLE WHERE ID BETWEEN 100 AND MAX
Run Code Online (Sandbox Code Playgroud)

还是一种走到尽头的方法?

t-sql sql-server max between sql-server-2008

-1
推荐指数
1
解决办法
3025
查看次数

使用datetime时sql where子句的问题

任何人都可以帮我解决这个问题我试图执行,

 static public DataTable GetAllCustomers()
{
    string sql = "Select * from [project] where [condition] = 0 AND [Time] < '" + DateTime.Now + "'";
    SqlDataAdapter da = new SqlDataAdapter(sql, ConnectionString);
    DataTable dt = new DataTable();
    da.Fill(dt);
    return dt;
}
Run Code Online (Sandbox Code Playgroud)

它什么都不返回

任何想法,我得到的查询错误.

c# sql sql-server-2008

-1
推荐指数
1
解决办法
781
查看次数

插入查询时出错

我试图插入到SQL数据库但是我一直收到错误

在此输入图像描述

以下是提到的查询:

 str2 = "Insert into [Snaps](Loc_city,Loc_state,Loc_country,Edu_Hist1,Work_Hist1) values (Loc_city= ' " + soap.data[i1].current_location.city.ToString() + "', Loc_state='" + soap.data[i1].current_location.state.ToString() + "', Loc_country='" + soap.data[i1].current_location.country.ToString() + "',Edu_Hist1='" + soap.data[i1].education_history[0].name.ToString() + "', Work_Hist1 ='" + soap.data[i1].education_history[0].school_type.ToString()+"')";
                     cmd = new SqlCommand(str2,con);
                     cmd.ExecuteNonQuery();
Run Code Online (Sandbox Code Playgroud)

请帮忙

c# sql-server asp.net sql-server-2005 sql-server-2008

-1
推荐指数
1
解决办法
104
查看次数

检查Varchar值是否为数字而没有溢出

我有一个表格PostalCode类型的表格Char(10),我使用以下选择查询:

SELECT [Fm].[Id], [Sdp].[FirstName], [Sdp].[LastName], [Sdp].[SSN],
[Sdp].[StoreName],
case when isnumeric([Sdp].[PostalCode]) = 1 then CONVERT(CHAR(10),[Sdp].[PostalCode]) 
else '0' end,  [Fc].[Id], [Sdp].[Address]

FROM [SRM].[SiteMembers].[DProfile] AS [Sdp]
INNER JOIN [SRM].[SiteMembers].[Member] AS [Sm]
ON [Sdp].[Member_Id] = [Sm].[Id]
INNER JOIN [FRM].[Members].[Member] AS [Fm]
ON [Sm].[UserId] = [Fm].[UserId]
INNER JOIN [SRM].[General].[City] AS [Sc]
ON [Sdp].[City_Id]=[Sc].[Id]
INNER JOIN [FRM].[General].[City] AS [Fc]
ON [Fc].[Title]=[Sc].[Title] 
COLLATE SQL_Latin1_General_CP1_CI_AS
Run Code Online (Sandbox Code Playgroud)

在这个脚本中加入过流错误,如下所示:

Msg 248, Level 16, State 1, Line 2
The conversion of the varchar value '4153675759' overflowed an int …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server-2008

-1
推荐指数
1
解决办法
6412
查看次数

在Sql Server 2008中舍入

我想在sql server中使用ROUND十进制值,如果值为1.1则结果应为2(next value).如何在sql server中执行,任何内置方法是否存在或者我想手动执行?

编辑:

如果任何值是在十进制位置的der,那么结果也应该是Next integer Value

请帮忙

rounding sql-server-2008

-1
推荐指数
1
解决办法
538
查看次数

如何从同一个表加入两次.按同一列分组

我这里有一个小问题.我想从同一个表中加入两次,并按共同的值进行分组.
这是数据集(来自表格凭证):

Date (dd/mm/yyyy)   Amount
--------------------------
01.01.2010          1.000
15.01.2010          2.000
01.03.2010          3.000
01.03.2010          4.000
01.05.2010          5.000
01.01.2011          1.000
01.02.2011          2.000
01.04.2011          3.000
15.04.2011          4.000
01.05.2011          5.000
Run Code Online (Sandbox Code Playgroud)

结果应该是这样的:

Month   Amount 2010   Amount 2011
---------------------------------
1       3.000         1.000
2                     2.000
3       7.000
4                     7.000
5       5.000         5.000
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

sql sql-server-2008

-1
推荐指数
1
解决办法
769
查看次数

将Select语句返回为格式化HTML

我有一个看起来像这样的数据集:

   Gender | Age | Name
    Male  | 30  | Bill
  Female  | 27  | Jenny
  Female  | 27  | Debby 
   Male   | 44  | Frank
Run Code Online (Sandbox Code Playgroud)

我试图将其显示为特殊格式的HTML代码:

    <ul>
      <li>Male
        <ul>
          <li>30
            <ul>
              <li>Bill</li>
            </ul>
          </li>
          <li>44
            <ul>
              <li>Frank</li>
            </ul>
          </li>
        </ul>  
      </li>
    </ul>

    <ul>
      <li>Female
        <ul>
          <li>27
            <ul>
              <li>Jenny</li>
              <li>Debby</li>
            </ul>
          </li>
        </ul>  
      </li>
    </ul>
Run Code Online (Sandbox Code Playgroud)

我试过使用,FOR XML但没有给出我想要的结果.它没有删除多个GenderAge返回的字段.正如您在此HTML中看到的那样,它将所有内容复合在一起,并且只在末端节点上提供重复项.

如何在SQL Server中实现这样的功能?

sql sql-server sql-server-2008

-1
推荐指数
1
解决办法
688
查看次数

sql server表中的tinyint在edmx中转换为byte

我正在研究asp.net应用程序,我从数据库生成了实体模型(edmx).我看到数据库中所有tinyint字段都转换为byte.当我尝试使用属性窗口修改模型并更改类型时,我开始获得模型验证错误.

请告诉我如何解决它

asp.net entity-framework sql-server-2008

-1
推荐指数
1
解决办法
1052
查看次数

SQL Server 2008,错误:948虽然附加数据库出现版本错误?

昨天我在我的笔记本电脑上安装了SQL Server 2008(Windows 7 64位),我需要将a附加.mdf到服务器,但是当我尝试这样做时,我收到此错误:

服务器'prince/sqlexpress'附加数据库失败(Microsoft.SqlServer.smo)

附加信息:1.Anception执行Transact Sql语句或批处理时发生异常(Microsoft.SqlServer.connectioninfo)

2.无法打开物理文件操作系统错误5:"5(访问被拒绝.)".(Microsoft SQL Server,错误:5120)

在互联网的帮助下,我找到了一些解决方案.

1.以管理员身份启动SQL Server管理器(右键单击该程序,选择"以管理员身份启动"):

但我仍然有同样的错误.

.mdf文件确实有权限,所以我进入外部驱动器(pendrive因为我的系统只有C:\驱动器,但我没有分区).

然后我又得到了一个错误,

服务器'Prince\SQLEXPRESS'附加数据库失败.
(Microsoft.SqlServer.Smo)其他信息:

执行Transact-SQL语句或批处理时发生异常.(Microsoft.SqlServer.ConnectionInfo)

无法打开数据库"Databasename",因为它是版本655.此服务器支持版本611及更早版本.不支持降级路径.无法打开新数据库'Databasename'.CREATE DATABASE被中止.(Microsoft SQL Server,错误:948)

我使用查询 -

"选择@@版本;"

我把输出作为

"Microsoft SQL Server 2005 - 9.00.3042.00(Intel X86)2007年2月9日22:47:07版权所有(c)1988-2005 Microsoft Corporation Express Edition on Windows NT 6.1(Build 7600:)"

我该怎么办?但我安装了SQL Server 2008.我该如何改变?如何解决这个错误,请帮助解决这个问题,如果您有任何解决方案请发布.

sql sql-server sql-server-2008

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