J'ai écrit une procédure TSQL qui insère une chaîne dans un fichier texte qui signifie qu'il nécessite que toutes les variables soient converties en une chaîne. Au lieu d'utiliser un cas par déclaration de cas, est-il plus facile de le faire, ce qui englobe tous les cas et force le type à un type de chaîne? p>
Merci d'avance p>
3 Réponses :
Tous-Caps est un texte littéral, une minuscule est quelque chose dans lequel vous devez interpoler une valeur: Vous pouvez éventuellement spécifier une longueur. p> Malheureusement, C'est un peu plus difficile avec les datetes, si vous voulez le formater de quelque manière que ce soit différent de la représentation par défaut. p> mon info est venu du Site MSDN . Je pense que vous devrez lire ce site, et d'autres, soigneusement et jouer avec lui un peu, mais j'espère que la fonction Bonne chance ! p> p> code> sera un bon départ. P>
Je ne pense pas qu'il y ait - et s'il y en avait, je n'en aurais pas confiance, car il y avait probablement très peu de contrôle sur le formatage général. Construisez le vôtre et ça va regarder exactement comme il a besoin de regarder. Facteurs à contempler: P>
... ça continue et allumé. P>
Vous devez convertir / le jeter à chaque fois. J'ai fait une fonction à utiliser:
CREATE FUNCTION QuoteNull ( @InputStr sql_variant --value to force to string ) RETURNS varchar(8000) AS BEGIN DECLARE @String varchar(8000) SET @String=COALESCE(''''+ CASE SQL_VARIANT_PROPERTY(@InputStr,'BaseType') WHEN 'datetime' THEN CONVERT(varchar(23),@InputStr,121) ELSE CONVERT(varchar(8000),@InputStr) END +'''','null') RETURN @String END