我在Sybase工作,这个表有'ID'列,'File_Name'
表1
winner? [[:x, :o, :o], [:o, :o, :x], [:x, :x, :o]]
#=> :no_winner
我只需要提取文件名中给出的第一个日期。
必需:
IDS File_Name_Attached
123 ROSE1234_abcdefghi_03012014_04292014_190038.zip
456 ROSE1234_abcdefghi_08012014_04292014_190038.zip
答案 0 :(得分:1)
您可以使用SUBSTRING
和PATINDEX
查找日期的start_index:
<强> LiveDemo 强>
CREATE TABLE #table1(IDS int, File_Name_attached NVARCHAR(100));
INSERT INTO #table1
VALUES (123, 'ROSE1234_abcdefghi_03012014_04292014_190038.zip'),
(456, 'ROSE1234_abcdefghi_08012014_04292014_190038.zip');
SELECT
IDS,
[DATES] = SUBSTRING(File_Name_attached,
PATINDEX('%_[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]_%', File_Name_attached) + 1,
8)
FROM #table1;
警告的
我没有用于测试的Sybase DB,所以如果这不起作用,请告诉我。