过去曾发布过类似的问题,但是我的工作环境非常有限。提供的解决方案涉及使用创建过程,创建表等。此处没有可用的解决方案。如何仅对字符串中不连续的数字(0-9)下标,例如'09text10more text!@@#11',以返回091011?是否可以使用功能组合,例如来自Schema.Table的SELECT Funtion1(Function2(StringField))?数据类型为varchar(30)。谢谢。
---更新1 ---
很抱歉,我是SQL和Stack Overflow的新手,但我的问题尚未完成。要回答您的一些问题:
-RDBMS和版本: Microsoft SQL Server管理Studio 13.0.16106.4 Microsoft Analysis Services客户端工具13.0.1700.441 Microsoft数据访问组件(MDAC)10.0.16299.15 Microsoft MSXML 3.0 4.0 6.0
-是的,我需要能够在单个查询的上下文中执行此操作。
我将尝试建议的单独解决方案,并做出相应答复。
谢谢大家。
---更新2 ---
Damien,SELECT @@ version返回Microsoft SQL Server 2016(SP2-CU1)(KB4135048)-13.0.5149.0(X64)2018年5月19日09:41:57版权所有(c)Microsoft Corporation Enterprise Edition:基于核心的许可Windows Server 2012 R2 Standard 6.3(内部版本9600:)(管理程序)上安装(64位)
谢谢。
答案 0 :(得分:0)
这有点hack。 :)
在我的测试中,我使用了一个变量,但这将适用于您的字段和普通的SELECT FROM查询...
declare @textval nvarchar(max) = '09text10more text!@@#11'
SELECT
CASE WHEN PATINDEX('%[0-9]%', SUBSTRING(@textval,1,1))=1 THEN SUBSTRING(@textval,1,1) ELSE '' END +
CASE WHEN PATINDEX('%[0-9]%', SUBSTRING(@textval,2,1))=1 THEN SUBSTRING(@textval,2,1) ELSE '' END +
CASE WHEN PATINDEX('%[0-9]%', SUBSTRING(@textval,3,1))=1 THEN SUBSTRING(@textval,3,1) ELSE '' END +
CASE WHEN PATINDEX('%[0-9]%', SUBSTRING(@textval,4,1))=1 THEN SUBSTRING(@textval,4,1) ELSE '' END +
CASE WHEN PATINDEX('%[0-9]%', SUBSTRING(@textval,5,1))=1 THEN SUBSTRING(@textval,5,1) ELSE '' END +
CASE WHEN PATINDEX('%[0-9]%', SUBSTRING(@textval,6,1))=1 THEN SUBSTRING(@textval,6,1) ELSE '' END +
...
CASE WHEN PATINDEX('%[0-9]%', SUBSTRING(@textval,30,1))=1 THEN SUBSTRING(@textval,30,1) ELSE '' END
对于该字段中的每个字符,您基本上都需要一个case语句。
答案 1 :(得分:0)
您应始终声明RDBMS和版本。
SQL Server 2017的有效TSQL,此要求如下。
file: 'data:video/webm;base64,' + buff
对于以前的版本,您可以使用
$scope.uploadVideo = function () {
$scope.selected.state = $scope.state[3];
fs.readFile('./videos/example.webm', (err, data) => {
if(err) alert(err);
var buff = Buffer.from(data).toString('base64');
$upload.upload({
url: "https://api.cloudinary.com/v1_1/" + cloudinary.config().cloud_name + "/upload",
data: {
upload_preset: cloudinary.config().upload_preset,
//tags: 'myphotoalbum',
//context: 'photo=' + $scope.title,
file: 'data:video/webm;base64,' + buff
}
})
.progress(function (info) {
//file.progress = Math.round((e.loaded * 100.0) / info.total);
//file.status = "Uploading... " + file.progress + "%"
console.log(info);
})
.then(function (res) {
console.log(res);
});
});
};