3

重複の可能性:
SQLサーバーの左文字をトリミングしますか?

クーポンを送信するためにデータベースから顧客情報を取得するクエリを以下に示します。郵便番号に関しては、フィールドの最初の5桁だけが必要です...最初の5桁だけを返すにはどうすればよいですか?私のコードは以下の通りです:

SELECT        Invoice_Tb.Customer_First_Name AS firstname, Invoice_Tb.Customer_Last_Name AS lastname, Invoice_Tb.Customer_Address AS add1, Invoice_Tb.City, 
                         Invoice_Tb.Customer_State AS State, Invoice_Tb.ZIP_Code AS ZIP, Invoice_Tb.Customer_Email_Address AS [Email Address], 
                         Invoice_Tb.Vehicle_Mileage AS [Vehicle Mileage], Invoice_Tb.Invoice_Date AS [Date Of Service], Invoice_Tb.Store_Number, @startdate AS Start_Date, @enddate AS End_Date
FROM            Invoice_Detail_Tb INNER JOIN
                         Invoice_Tb ON Invoice_Detail_Tb.Invoice_Number = Invoice_Tb.Invoice_Number AND Invoice_Detail_Tb.Invoice_Date = Invoice_Tb.Invoice_Date
WHERE        (Invoice_Detail_Tb.Store_Category_Code = 'FS') AND (Invoice_Tb.Invoice_Date BETWEEN CONVERT(DATETIME, @startdate, 102) AND CONVERT(Datetime, 
                         @enddate, 102)) AND (Invoice_Tb.Reminder_Mail_Flag = 'Y')
4

2 に答える 2

6

試す

LEFT(FieldName, 5)

例えば

SELECT LEFT(FieldName, 5) as SomeAlias FROM SomeTable

テーブル:

FieldName
---------
Hello World

結果:

SomeAlias
---------
Hello
于 2012-09-01T12:45:55.933 に答える
0

フィールドがInvoice_Tb.ZIP_Codeの場合、サブストリング関数を使用できます。

substring(Invoice_Tb.ZIP_Code, 1, 5) AS 'Trimmed Zip Code'

もう1つの方法は、LEFT関数を使用することです。

LEFT(Invoice_Tb.ZIP_Code, 5) AS 'Trimmed Zip Code'

整数からnvarcharへの暗黙の変換、および同等のnvarcharがあるため、ここでCASTを実行することを心配する必要はありません。

于 2012-09-01T12:54:13.410 に答える