في محاولة لتحويل "yyyy إنهاء / مم / سس: دد: ث ث" (المخزنة كما شار) في التاريخ والوقت باستخدام عمود محسوب

StackOverflow https://stackoverflow.com/questions/1814019

سؤال

وهذا يبدو وكأنه يجب أن يكون بسيطا ولكنه يقود لي حتى الجدار.

ولقد اثنين من الأعمدة - 'tx_date "و" الوقت "تخزين كل كما شار (10). (سيئة تصميم قاعدة البيانات وأنا أعلم، ولكن لم يكن تصميمي)

ومن استعلام يمكنني تحويلها إلى التاريخ والوقت على ما يرام -

و"... تحويل (التاريخ والوقت، tx_date، والوقت، 11) ..."

و(حتى tx_date "09/11/27" والوقت "7:12:18" سوف تنتج "2009-11-27 07: 12: 18.000")

ولكن لو كنت ثم نسخ ولصق تحويل إلى الحقل "الصيغة" في SQL Server إدارة Studio (نفس المكان اختبرته يعمل في استعلام) يقول لي "خطأ التحقق من صحة الصيغة لعمود .."

إذا كنت اجبارها على استخدام هذه الصيغة على أي حال كان يعمل، ولكن أنا لا أريد أن يذهب إلى الأمام وإضافة هذا عمود محسوب إلى جدول مهم حتى أعرف السبب الذي لديه مشكلة مع الصيغة.

هل كانت مفيدة؟

المحلول

ويمكنك إضافة حقل محسوب إلى الجدول في SQL Server إدارة Studio باستخدام استعلام لا مشكلة:

ALTER TABLE dbo.YourTable 
  ADD NewDateTimeField AS CONVERT(DATETIME, tx_date + ' ' + time, 11) 

ولكن لسوء الحظ، لا يمكن أن تجعل من "استمر" لأن وظيفة CONVERT في غير القطعية. وهذا يعني أنه سوف يتم فحص كل مرة يتم الوصول إليه، وأنت لا تستطيع أن تضع فهرس على ذلك: - (

ومارك

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top