小编use*_*912的帖子

从SQL Server获取今天的最后30天记录

我对SQL Server有一个小问题:如何从这个表中获取最近30天的信息

样本数据:

Product:

Pdate
----------
2014-11-20
2014-12-12
2014-11-10
2014-12-13
2014-10-12
2014-11-15
2014-11-14
2014-11-16
2015-01-18
Run Code Online (Sandbox Code Playgroud)

基于此表数据,我想要输出如下

pdate
-------
2014-11-20
2014-12-12
2014-12-13
2014-11-16
Run Code Online (Sandbox Code Playgroud)

我试过这个查询

SELECT * 
FROM product 
WHERE pdate >= DATEADD(day, -30, getdate()).
Run Code Online (Sandbox Code Playgroud)

但它现在给出了确切的结果.请告诉我如何在SQL Server中解决此问题

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

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

如何在SQL Server中将一列拆分为两列

我对SQL Server有一个小问题,请告诉我如何解决这个问题

表: emp

   id    name
  ---------------
   1    abc_rao
   2    nani
   3    hari_babu
   4    kalibabu
   5    ab_tan
Run Code Online (Sandbox Code Playgroud)

基于该表我想要输出如下

   id   firstname   lastname
   1      abc       rao
   2      nani      nothing
   3      hari      babu
   4      kalibabu  nothing
   5      ab        tan
Run Code Online (Sandbox Code Playgroud)

我试过这样的:

select 
    SUBSTRING(name, 1, CHARINDEX('_', name) - 1) as firstname , 
    SUBSTRING(name, CHARINDEX('_', name) + 1, LEN(name)) as lastname 
from emp
Run Code Online (Sandbox Code Playgroud)

但我没有得到完全预期的结果.

相反,我收到一个错误:

消息537,级别16,状态2,行3
传递给LEFT或SUBSTRING函数的长度参数无效.

请告诉我如何解决这个问题

在SQL Server中使用查询问题

sql-server sql-server-2012

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