我试图在列上使用这个函数,但似乎不允许这样做:
如果我用
SELECT *
FROM STRING_SPLIT('John,Jeremy,Jack', ',')我得到了“约翰”,“杰里米”和“杰克”的价值
如果我用:
SELECT *
FROM STRING_SPLIT(Obs, ' ')(Obs是文本)
或
SELECT *
FROM STRING_SPLIT(appointments notes, ' ')我得到了错误消息:
对于string_split函数的参数1,参数数据类型void无效
我甚至试过:
SELECT *
FROM STRING_SPLIT(select obs from log, '-')导致此错误:
关键字“select”附近的不正确语法。 Msg 102,第15级,状态1,第6线 “-”附近的不正确语法
我怎样才能解决这个问题?
发布于 2021-06-08 08:53:56
谢谢大家的帮助,我已经尝试过你们的建议了,但也不断地犯同样的错误。
下面是日志列中的2个记录示例:
Obs
ID:786988|Patient_ID:320165|Staff_ID:PF|Date:05/06/2021 13:00:24|DiaryTemplates_ID:244799|Notes:Relatório 786988|Access:1|EventID:5|Status:4|Staff_ID_Writer:PES|Staff_ID_Signature:0|StatusReason:|StatusObs:|DateReceived:05/06/2021 13:00:24|NameReceived:|CountPrints:0|Staff_ID_Auxiliar:PES|PatientEpisode_ID:664831|
ID:872474|Patient_ID:340246|Staff_ID:PFI|AppointmentDate:29/05/2021 09:33:21|Convencao:XCD_ttt_NE_C2|NBenef:3X34977|NRequisicao:4SFR09995393153409|NAutorization:|Treatment_ID:6898|TreatmentCode:743.9|TotalValue:75,34|PatientValue:0,00|ConvencaoValue:75,34|StaffValue:0,00|FactConvencao:True|FactConvencaoDate:31/05/2021 19:14:53|FactStaff:False|FactStaffGuID:|PatientValueDiscount:0,00|Recibo:True|ReciboGuID:|FactConvencaoClinic_ID:HJUSD2|Piece:|ClinicsLocations_ID:1|FactConvencaoYearMonth:202105|FactConvencaoSequencial:31|FactConvencaoLote:155|FactConvencaoStaff_ID:TRI|Quantity:1|FactConvencaoLoteType:M|RequesterCode_Medico:M2XD33|RequesterCode_CentroSaude:XCD202|PatientDiary_ID:F45724|Appointment_ID:793049|DataExecucao:29/05/2021 09:30:00|DataEntrega:04/06/2021 00:00:00|PatientEpisode_ID:664807|ToExecute:True|Position:1|FactConvencaoNDevolucao:|FactConvencaoCanDefact:|NRequisicaoDate:|DataFacturacao:29/05/2021 09:33:21|ClinicalReportsDestinations_ID:|ClinicalReportsDestinations_ByWho:|ClinicalReportsDestinations_Date:|ClinicalReportsDestinations_DateDelivery:|TypeOrigem:|SPMS_IdMcdt:|每一个字符串位于“AC.26”和“:”之间,都是另一个表的列名,其值位于“:”之后。数据类型为“text”。
我需要将这些值分割成不同的列来更新另一个表。
谢谢。
https://stackoverflow.com/questions/67876497
复制相似问题