小编Ker*_*mit的帖子

如何使用SQL Server比较软件版本?

当尝试比较软件版本5.12到5.8时,版本5.12更新,但数学上5.12小于5.8.我如何比较两个版本,以便更新的版本返回'Y'?

SELECT CASE WHEN 5.12 > 5.8 THEN 'Y' ELSE 'N' END
Run Code Online (Sandbox Code Playgroud)

可能的解决方案

  1. 在5.8中的小数后添加一个0,以便它比较5.08到5.12,但似乎这需要一些代码.
  2. 只需比较小数点后的值(即12> 8),但是当版本滚动到6.0时,这会失败.
  3. 使用反向逻辑并假设如果5.12小于5.8则返回'Y'.我相信当版本滚动到6.0时这会失败.

sql t-sql sql-server

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

mysql group by并对每个组进行排序

我有下表:

ID NAME TIME
1  A    0
2  A    3
3  B    1

我使用下面的查询产生:

SELECT * FROM `table` GROUP BY `NAME`
Run Code Online (Sandbox Code Playgroud)
ID NAME TIME
1  A    0
3  B    1

我想用它GROUP BY来生成这样的结果(按TIME列折扣排序):

ID NAME TIME
2  A    3
3  B    1

mysql sql sorting group-by

14
推荐指数
3
解决办法
5万
查看次数

SQL INSERT INTO带子查询和值

有没有办法可以使用硬值和子查询的组合来插入一个命令的表?

例如:

INSERT INTO suppliers (supplier_id, supplier_name, supplier_type)
SELECT account_no, name
FROM customers
WHERE city = 'San Diego';
Run Code Online (Sandbox Code Playgroud)

我需要supplier_type为3.所以我可以为第二行执行以下操作吗?

SELECT account_no, name, supplier_type = 3
Run Code Online (Sandbox Code Playgroud)

supplier_type不在customers表中

sql sql-insert

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

在sql中只向表中添加一个值

我有一个名为student由(rollno, name, sem, branch)组成的表

如果我INSERT只想要一个值(即只需要输入名称),那么查询是什么?

mysql database

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

T-SQL:使用TIES进行分页

我正在尝试实现一个稍微不同的分页例程.

为了一个简单的例子,我们假设我有一个表定义并填充如下:

DECLARE @Temp TABLE
(
    ParentId    INT,
    [TimeStamp] DATETIME,
    Value       INT
);

INSERT INTO @Temp VALUES (1, '1/1/2013 00:00', 6);
INSERT INTO @Temp VALUES (1, '1/1/2013 01:00', 7);
INSERT INTO @Temp VALUES (1, '1/1/2013 02:00', 8);
INSERT INTO @Temp VALUES (2, '1/1/2013 00:00', 6);
INSERT INTO @Temp VALUES (2, '1/1/2013 01:00', 7);
INSERT INTO @Temp VALUES (2, '1/1/2013 02:00', 8);
INSERT INTO @Temp VALUES (3, '1/1/2013 00:00', 6);
INSERT INTO @Temp VALUES (3, '1/1/2013 01:00', 7);
INSERT INTO @Temp …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server-2008

10
推荐指数
1
解决办法
540
查看次数

如何在整数数据类型的hibernate分离标准中使用LIKE?

我必须这样做Restrictions.like("sequenceNo", "%" + Integer.valueOf(sequenceNo.trim()) + "%").

该字段sequenceNo是整数类型,但sequenceNo参数值是字符串.我的问题是我得到一个例外java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer.出于某些原因,我真的必须使我的param成为字符串数据类型.当我在SQL中尝试使用LIKE一个整数时,它可以工作.

请帮忙.谢谢.

java model-view-controller hibernate sql-like

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

导入时跳过第一个数据行

我正在使用XML格式文件导入CSV文件,并且第一个数据行被跳过.我无法弄清楚为什么.

格式文件

<?xml version="1.0"?>
<BCPFORMAT xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <RECORD>
  <FIELD ID="1" xsi:type="CharTerm" TERMINATOR='","' />
  <FIELD ID="2" xsi:type="CharTerm" TERMINATOR='\n' />
 </RECORD>
 <ROW>
  <COLUMN SOURCE="1" NAME="COLUMN1" xsi:type="SQLVARYCHAR" />
  <COLUMN SOURCE="2" NAME="COLUMN2" xsi:type="SQLVARYCHAR" />
 </ROW>
</BCPFORMAT>
Run Code Online (Sandbox Code Playgroud)

CSV

COLUMN1,COLUMN2
"ABC","ABC123456"
"TNT","TNT123456"
Run Code Online (Sandbox Code Playgroud)

询问

SELECT *
FROM OPENROWSET(BULK 'C:\sample.csv',
FORMATFILE='C:\sample.xml',
FIRSTROW = 2) AS a
Run Code Online (Sandbox Code Playgroud)

结果

COLUMN1 COLUMN2
------- ----------
"TNT    TNT123456"

(1 row(s) affected)
Run Code Online (Sandbox Code Playgroud)

如果FIRSTROW更改为1,结果将变为:

COLUMN1                COLUMN2
---------------------  ----------
COLUMN1,COLUMN2  "ABC  ABC123456" 
"TNT                   TNT123456"
Run Code Online (Sandbox Code Playgroud)

如果标题行已从CSV中删除并FIRSTROW更改为1,则结果将按预期返回:

COLUMN1 COLUMN2
------- …
Run Code Online (Sandbox Code Playgroud)

sql-server csv import

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

在PHP中模拟LIKE

有没有办法用相同的语法在PHP中模拟SQL的LIKE运算符?(%以及_通配符和通用$escape转义字符)?这样:

$value LIKE $string ESCAPE $escape
Run Code Online (Sandbox Code Playgroud)

你可以有一个函数,在不使用数据库的情况下返回PHP的评估吗?(考虑到$value,$string并且$escape已经设置了值).

php sql string pcre sql-like

7
推荐指数
1
解决办法
1673
查看次数

选择除顶行之外的所有行

如何从第一行以外的表中返回所有行.这是我的sql语句:

Select Top(@TopWhat) * 
from tbl_SongsPlayed 
where Station = @Station 
order by DateTimePlayed DESC
Run Code Online (Sandbox Code Playgroud)

如何更改我的SQL语句以返回除第一行之外的所有行.

非常感谢

sql sql-server rows

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

SELECT行是x的倍数

在SQL Server中,如何选择行10,20,30,40等行,其中RowID是某个整数(+10)的相等间隙.有50k行,所以使用IN(1,10,20等)是费力的.

SELECT * FROM 'TABLENAME' WHERE RowID = 10 (+ 10)
Run Code Online (Sandbox Code Playgroud)

sql sql-server

7
推荐指数
1
解决办法
8373
查看次数