我有一个查询,我要从字符串中抓取某些文本。字符串的示例是:
“捕获的信用卡:万事达卡,xxxx-xxxx-xxxx-xxxx,09/19。设置为默认值。”
我的查询正在从该文本中提取到期月份和年份。
SUBSTRING(ADT.MsgText, CHARINDEX('/', ADT.MsgText, 0) -2, 2) AS [Month]
,'20' + SUBSTRING(ADT.MsgText, CHARINDEX('/', ADT.MsgText, 0) + 1, 2) AS [Year]
但是,我需要将这些数字值识别为日期值。我尝试了以下方法,但未成功:
UPDATE CCC
SET CCC.[Month] = convert(date, convert(varchar(4), CCC.[Year]) + ' ' + convert(varchar(2), CCC.[Month]))
FROM CC_Captured CCC
我得到的错误消息是:“更新或视图或函数'CCC'的插入或插入失败,因为它包含派生或常数字段。”
我想知道如何将这些值转换为日期? 任何帮助表示赞赏!
(我也正在使用SQL 2016)
答案 0 :(得分:0)
您可以使用DATEFROMPARTS来构造一个月中的日期(该月的第一天或最后一天)。
Route::get('/reservation/date/{date}', 'ReservationController@getScheduleForDate');
Route::resource('/reservation', 'ReservationController');
Route::get ('/admin', 'AdminController@index');
Route::get('/home', 'HomeController@index')->name('home');
Auth::routes();
Route::get('/{vue?}', function () {
return view('index');
})->where('vue', '[\/\w\.-]*');
或更妙的是,使用EOMONTH函数:
php artisan route:clear
php artisan cache:clear