小编Spa*_*rky的帖子

是否在SQL Server T-SQL patindex范围内不允许使用CHAR(14)?

在TSQL patindex中CHAR(13)或CHAR(14)有什么问题?一旦我在模式中包含CHAR(14),我就找不到记录.寻找答案,我刚从2009年找到了我自己的问题(未答复)(此处:http://www.sqlservercentral.com/Forums/Topic795063-338-1.aspx).

这是另一个简单的测试,以显示我的意思:

/* PATINDEX TEST */
DECLARE @msg NVARCHAR(255)
SET @msg = 'ABC' + NCHAR(13) + NCHAR(9) + 'DEF'

DECLARE @unwanted NVARCHAR(50)
-- unwanted chars in a "chopped up" string
SET @unwanted = N'%[' + NCHAR(1) + '-' + NCHAR(13) + NCHAR(14) + '-' + NCHAR(31) + ']%'
SELECT patindex(@unwanted, @msg)
Run Code Online (Sandbox Code Playgroud)

- 结果:4

-- NOW LET THE unwanted string includ the whole range from 1 to 31


   SET @unwanted = '%['+NCHAR(1)+'-'+NCHAR(31)+']%' -- -- As soon …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server pattern-matching patindex

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

SQL连接两个表并从第二个表中随机选择匹配的记录

我有两个表,一个用户表和一个MyPhotos表.UserTable包含UserID列和与用户信息相关的其他列.MyPhotos表包含UserID和ImageFile列.

MyPhotos表可以为单个UserID提供多个记录.我需要一种方法来查找特定用户的照片总数,以及为每个UserID 随机选择的一个图像文件.

我当前使用的SQL语句每次都返回相同的图像而不是随机图像.这里是:

SELECT  MyPhotos.UserID, 
        UsrTbl.ScreenName, COUNT(*) AS TotalPhotos, 
        MAX(MyPhotos.ImagesFileName) AS Expr1
FROM MyPhotos 
INNER JOIN UsrTbl ON MyPhotos.UserID = UsrTbl.AccountID
GROUP BY MyPhotos.UserID, UsrTbl.ScreenName
ORDER BY NEWID()
Run Code Online (Sandbox Code Playgroud)

任何帮助是极大的赞赏!

谢谢!

sql sql-server

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

oracle SQL错误00913的值太多了

感谢上一个回答我能够解决问题,现在我将值插入到我的表中.但我对以下内容有一点问题;

CREATE TABLE RENTALAGREEMENT
( RENTAGREE_NUM NUMBER,
MEM_ID NUMBER,
STF_ID NUMBER,
ECAR_ID NUMBER,
ISSUE_DATE DATE,
RETURN_DATE DATE,
ACTUAL_RETURN DATE,
RENTAL_AMOUNT NUMBER,
LATE_RETURN_CHARGE NUMBER, 
CONSTRAINT RENTAGREE_PK PRIMARY KEY (RENTAGREE_NUM),
CONSTRAINT RENTAGREE_FK1 FOREIGN KEY (MEM_ID) REFERENCES MEMBER,
CONSTRAINT RENTAGREE_FK2 FOREIGN KEY (STF_ID) REFERENCES STAFF,
CONSTRAINT RENTAGREE_FK3 FOREIGN KEY (ECAR_ID) REFERENCES ECAR
)
Run Code Online (Sandbox Code Playgroud)

/我试图插入以下值

Insert into rentalagreement 
values(001,'1001','201','300',21/04/2013,('dd/mm/yyyy'),22/04/2013, 
      ('dd/mm/yyyy'),22/04/2013,('dd/mm/yyyy'),'80','null')
Run Code Online (Sandbox Code Playgroud)

/

但我一直得到太多的值语法错误.请任何人都可以帮助我

谢谢

sql oracle

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

标签 统计

sql ×2

sql-server ×2

oracle ×1

patindex ×1

pattern-matching ×1

t-sql ×1