如何对数据进行子串。例如,我有这样的数据:
"compileOnSave": true,
我希望输出如下:
+----------------------+
|John123123412412wqeqw |
|May1231243334234wawdd |
|Jo02930124010284jahdj |
|dy827837127912938hygb |
+--------------------- +
截至目前,我还不了解如何在我的脚本中应用Substring和charindex。
提前致谢!
答案 0 :(得分:3)
您可以尝试使用模式LEFT
和PATINDEX
来匹配PATINDEX('%[0-9]%', 'John123123412412wqeqw')
等数字。
示例代码
DECLARE @Text VARCHAR(500);
SET @Text = 'John123123412412wqeqw';
SELECT LTRIM(RTRIM(LEFT(@Text, PATINDEX('%[0-9]%', @Text) - 1)))
您可以从下表中执行此操作
SELECT
LTRIM(RTRIM(LEFT(ColumnName, PATINDEX('%[0-9]%', ColumnName) - 1)))
FROM
[Table1]
答案 1 :(得分:1)
处理字符串的最佳方法是操作在应用程序端,而不是在数据库端。但是如果你需要这个,那么你可以使用PATINDEX
和SUBSTRING
来获得你想要的东西,
SELECT PATINDEX('%[^0-9]%',stringValueCol) 'Position of NonNumeric String Position',
SUBSTRING(stringValueCol,PATINDEX('%[^0-9]%',stringVlaueCol),PATINDEX('%[^A-Z]%',stringValueCol)-1) 'NonNumeric String'
FROM
myTable
但我仍然建议在代码中进行这种操作,而不是在数据库方面。