我有一个视图,我有一个日期为 varchar 格式的列,dd/MM/yyyy
当我尝试使用 order by 时,它给出了错误
消息 241,级别 16,状态 1,第 2 行 从字符串转换日期和/或时间时转换失败。
查询是
select * from test1.dbo.abcd order by CONVERT(date,ddate,103)
Run Code Online (Sandbox Code Playgroud)
它返回 0 的某些日期是 13/01/2010
18/12/2009
20/10/2009
21/06/2010
19/10/2009
18/11/2010
29/10/2009
29/10/2009
18/03/2010
15/03/2010
15/03/2010
15/03/2010
15/04/2010
15/04/2010
15/04/2010
15/04/2010
30/03/2010
14/05/2010
14/01/2010
23/10/2009
20/10/2009
27/10/2009
27/10/2009
20/07/2009
20/04/2010
13/08/2010
30/06/2011
23/07/2010
27/08/2010
24/09/2010
Run Code Online (Sandbox Code Playgroud)
谁能告诉我为什么它返回 0 以及如何对其进行排序?
我的问题很简单,但我不确定是否可能。
假设我有一个表格,它包含下面的列
PokemonHappiness smallint
Run Code Online (Sandbox Code Playgroud)
是否可以为该列设置最大值?
例如,如果我将最大值设置为 10000 并发送这样的查询
--Assume that PokemonHappiness is equal to 9990
update mytable set PokemonHappiness = PokemonHappiness+50
Run Code Online (Sandbox Code Playgroud)
它应该变成 10000 而不是 10040
这可能吗?
我需要一个关于 SELECT 的示例,其中输出是一个 ',' 分隔的字符串
例如 SELECT (... something ...) name AS output FROM name_table
给我
output
-----------------------------
'Ann', 'Tom', 'Wilson', .....
Run Code Online (Sandbox Code Playgroud)
您将如何在 SQL Server 2008 R2 中做到这一点?
谢谢!
我想知道这可能是打开一个最好的方法SqlConnection与Sql Server 2008R2 Express Edition数据库.此版本的Sql具有RAM使用率和CPU使用率的限制,因此我们必须采用最佳方法来打开SqlConnection.
现在我正在检查每个方法的开始和结束时的连接.这是一个例子.
private void CheckValidId(string Id)
{
CheckConnectionStatus();
try
{
sqlConnection.Open();
sqlCommand = new SqlCommand("select * from ValidId where id=@id", sqlConnection);
sqlCommand.Parameters.AddWithValue("@id", Id);
sqlDataReader = sqlCommand.ExecuteReader();
While (sqlDataReader.Read())
{
string Test = sqlDataReader["Id"].toString();
MessageBox.Show("Value of Id : " , Test);
}
}
catch (Exception exp)
{
MessageBox.Show(exp.Message.ToString(), "Exception in CheckValidId");
}
finally
{
CheckConnectionStatus();
}
}
Run Code Online (Sandbox Code Playgroud)
这是CheckConnectionStatus方法
private void CheckConnectionStatus()
{
if (sqlConnection.State == ConnectionState.Open)
{
sqlConnection.Close();
} …Run Code Online (Sandbox Code Playgroud) c# sql-server database-connection sql-server-2008-r2 sql-server-2008r2-express
我正在使用Microsoft SQL Server 2008 R2作为JEE应用程序(JSF,JPA,EclipseLink).
我每周重启我的数据库,这样做我需要更新所有表格的顺序:
UPDATE[dbo].[SEQUENCE]
SET [SEQ_COUNT] = (SELECT MAX(IDAGENCE)
FROM AGENCE)
WHERE SEQ_NAME = 'SEQ_AGENCE'
Run Code Online (Sandbox Code Playgroud)
我的问题是:当我重新启动数据库以更新所有序列时,如何触发脚本?
谢谢你的帮助
我们有SSIS工作,将记录插入两个表.当我看到InsertDate时,有10到20毫秒的时差.
我需要根据InsertDate比较两个表,但是比较它时应忽略差异是否小于60秒.
Ex:
2017-03-15 06:09:59.930
2017-03-15 06:10:50.030
Select * from A
inner join B
on A.ID = B.ID
Where A.insertdate < B.inserdate
Run Code Online (Sandbox Code Playgroud) 我有以下数据:
表:
CREATE TABLE tbl1
(
cola varchar(20),
colb int
);
INSERT INTO tbl1 VALUES('AB10029',1),('5023154',17),('05021286',17),('10029',32),('05023154',17),('5021286',17);
Run Code Online (Sandbox Code Playgroud)
鉴于记录:
Cola Colb
------------------
AB10029 1
5023154 17
05021286 17
10029 32
05023154 17
5021286 17
Run Code Online (Sandbox Code Playgroud)
注意:我想给非可匹配组合的等级为1(最后一个字符应该相同),colb和匹配组合应该是1,2,3等等.
预期产量:
Cola Colb Rn
-----------------------
AB10029 1 1
10029 32 1
5023154 17 1
05023154 17 2
5021286 17 1
05021286 17 2
Run Code Online (Sandbox Code Playgroud)
我的尝试:
SELECT Cola,Colb,
DENSE_RANK() OVER(PARTITION BY Colb ORDER BY RIGHT(Cola,5)) rn
FROm tbl1
ORDER BY RIGHT(Cola,5)
Run Code Online (Sandbox Code Playgroud) 我有一个表和服务器是SQL Server 2008 R2,我们不能使用concat功能
YearID | MonthId
--------+----------
2017 | 1
2014 | 5
2014 | 10
2016 | 12
Run Code Online (Sandbox Code Playgroud)
我希望输出为
201701
201405
201410
201612
Run Code Online (Sandbox Code Playgroud)
到目前为止我尝试了什么
select
cast(YearId as varchar(50)) + '0' + cast(MonthId as varchar(50))
from
TEST
Run Code Online (Sandbox Code Playgroud)
我得到的输出为
201701
201405
2014010
2016012
Run Code Online (Sandbox Code Playgroud)
如果monthID是2位数,则表示失败.
如何解决这种情况?
我正在尝试选择特定行号之间的行(例如1到50或51到10等).
下面是我的表MatTk模式,所有列都允许空值:
tk_id [varchar(50)] | mat_id [varchar(50)] | ven_id [varchar(50)] | tk_rate [money]
1023 104 2212 120.11
Run Code Online (Sandbox Code Playgroud)
本文使用Row_Number()建议选择行的子集ORDER BY id但我想避免它并以表数据的自然顺序显示它.
另请查看本文SQL Server 2005 ROW_NUMBER(),不带ORDER BY,建议插入临时表,但它不是一个选项,因为该MatTk表有数百万行.
有没有办法按行号查询行而不按ID排序而不创建临时表?
表格1
ID
----
1
2
3
4
5
Run Code Online (Sandbox Code Playgroud)
表2
Name
----
Z
Y
X
W
V
Run Code Online (Sandbox Code Playgroud)
预期产量:
ID Name
-------------------------
1 NULL
2 NULL
3 NULL
4 NULL
5 NULL
NULL Z
NULL Y
NULL X
NULL W
NULL V
Run Code Online (Sandbox Code Playgroud)
我需要通过在SQL Server中使用JOINS来解决上述情况。